Flutter 1.0 安定版が発表された (Flutter Live キーノート 概要レポート)
本日Londonで行われているFlutter LiveのキーノートがYoutubeでライブ配信されていたので、キーノートの概要を手短にレポートする。
ちなみに、Flutterのプロダクトマネージャーがキーノートと同内容を公式ブログに寄稿しているので、英語を苦にしなければ原文を読めば内容は詳細に網羅されている。
Flutter 1.0: Google’s Portable UI Toolkit
Flutterとは
Flutterは、美しいUIのアプリをシングルコードベースでクロスプラットフォーム開発できるUIツールキット。古めの端末でも高パフォーマンスで動作する。Stateful hot reloadingの恩恵により、状態を維持したままコードの変更が即時に開発中のアプリに反映される。(SmalltalkのLive programming環境に少しだけ近づいてきた)。ネイティブ環境に依存する機能はプラグインを開発して呼び出す。それ以外はUIも含めてすべてDart言語で書く。したがって、UIのマークアップ用の外部DSLは存在しない。
すでにGoogle内部で、Google AdsのiOS版とAndroid版がFlutterで開発されていることは有名だろう。(ちなみにWeb版はAngularDartで開発されている。)Googleの外でも、特に中国系の企業が積極的にFlutterを使用していて、世界一多くの開発者とユーザーがいるそうだ。
本日のカンファレンスのキーノートで、ついに1.0のリリースがアナウンスされた。めでたい。
サードパーティのエコシステム
サードパーティのエコシステムについて、3つのサービスが紹介された。
Flutter 1.0の新機能
- iOSピクセルパーフェクト対応
- 既存のiOS/AndroidアプリへのFlutter追加機能
- AndroidとiOSのネイティブビューの埋込機能(AndroidViewとUiKitView)
- Dart 2.1対応
モバイルネイティブアプリから真のクロスプラットフォームアプリ開発環境へ
Flutterでデスクトップアプリ
Windows, macOS, Linux, ChromeOSのネイティブアプリ対応が公式に宣伝された。(現在はまだ安定版ではなくearly preview段階)
https://github.com/google/flutter-desktop-embedding
FlutterでWebアプリ (Hummingbird)
なんと、WebアプリもFlutterでシングルコードベースで書いてしまおうという野心的なプロジェクトが発表された。 これについてはすでにレポートを書いたので参照されたい。
Flutterの開発体験デモ
開発中のアプリの状態を維持したまま、リスタートなしにリアルタイムでコードの変更がアプリに反映されている様がうまくデモされているので、開発者は必見のデモになっている。その他、サードパーティのサービスのデモや、Firebase MLKitを使用した、カメラによるアバターとの表情や動作の同期のデモなど。
所感
Dartが、Webも含めたクライアントサイドのシングルコードベースでの大統一開発環境になろうという構想が現実味を帯びてきた。
この調子でGCPの公式サポートが充実してほしいし、FirebaseやgRPCのDart公式サポートなどその兆しは十分ある。2018年は、Dartはクライアントサイドにフォーカスすると公式に表明されたが、2019年にはサーバーサイドを含めたユニバーサルな言語となる構想が語られてもおかしくないところまで来ていると思う。