各プラットフォームに特化したネイティブアプリはその環境でのフルパワーを引き出すことができますが、今度は横展開が面倒です。そこで登場、ふわっちの開発にも使っている、Flutter(フラッター)。
Googleが開発するFlutterは、独自のVMを使って速くデバッグしやすい強力な開発環境が特徴のマルチプラットフォームなフレームワーク。Java、Kotlin、Swift、C#でのネイティブアプリづくりに近い感覚です。
はじめてのFlutter、ひとまずブラウザで動くウェブアプリとして、バイナリが扱えるJSONの上位互換の世界標準、CBOR(シーボル)を動かしてみました。(Flutterをインストール、ウェブアプリ開発 on Flutter、参照、メインのソースは lib/main.dart)
import 'package:flutter/material.dart'; import 'package:cbor/cbor.dart'; enctest(n) { final encoded = cbor.encode(CborMap({ CborString("count"): CborSmallInt(n), CborString("test"): CborSmallInt(15), })); print(encoded); } void main() { runApp(const MyApp()); }
FlutterでのCBORは「cbor | Dart Package」がすぐ見つかります。
開発言語の Dart(ダート)は、Geo3x3でちょっと触った程度でほとんど文法を知りませんが、JavaScriptにも近いので、なんとなく書けていい感じです。