ntaoo blog

主にDart, Flutter, AngularDartについて書いていきます。ときどき長文。日本語のみ。Twitter: @ntaoo

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 AdsiOS版とAndroid版がFlutterで開発されていることは有名だろう。(ちなみにWeb版はAngularDartで開発されている。)Googleの外でも、特に中国系の企業が積極的にFlutterを使用していて、世界一多くの開発者とユーザーがいるそうだ。

  • 200万人以上のユーザーがFlutter製アプリを利用
  • 25万人以上の開発者がFlutterでアプリを開発
  • 3000以上のアプリがplay storeに公開
  • GitHubの人気リポジトリで34位

f:id:ntaoo:20181205081625p:plain

本日のカンファレンスのキーノートで、ついに1.0のリリースがアナウンスされた。めでたい。

サードパーティのエコシステム

サードパーティのエコシステムについて、3つのサービスが紹介された。

Flutter 1.0の新機能

f:id:ntaoo:20181205084555p:plain

モバイルネイティブアプリから真のクロスプラットフォームアプリ開発環境へ

Flutterでデスクトップアプリ

Windows, macOS, Linux, ChromeOSのネイティブアプリ対応が公式に宣伝された。(現在はまだ安定版ではなくearly preview段階)

https://github.com/google/flutter-desktop-embedding

FlutterでWebアプリ (Hummingbird)

なんと、WebアプリもFlutterでシングルコードベースで書いてしまおうという野心的なプロジェクトが発表された。 これについてはすでにレポートを書いたので参照されたい。

ntaoo.hatenablog.com

Flutterの開発体験デモ

開発中のアプリの状態を維持したまま、リスタートなしにリアルタイムでコードの変更がアプリに反映されている様がうまくデモされているので、開発者は必見のデモになっている。その他、サードパーティのサービスのデモや、Firebase MLKitを使用した、カメラによるアバターとの表情や動作の同期のデモなど。

所感

Dartが、Webも含めたクライアントサイドのシングルコードベースでの大統一開発環境になろうという構想が現実味を帯びてきた。

この調子でGCPの公式サポートが充実してほしいし、FirebaseやgRPCのDart公式サポートなどその兆しは十分ある。2018年は、Dartはクライアントサイドにフォーカスすると公式に表明されたが、2019年にはサーバーサイドを含めたユニバーサルな言語となる構想が語られてもおかしくないところまで来ていると思う。