今年のGoogle I/O 2019から読み取るFlutter戦略

Googleの祭典、「Google I/O」が今年も終わりました。
だいぶ遅れましたが、一応所感書いときましょ。

今年ももちろんFlutterネタありましたー。
最近のアプリ界隈はやっぱりFlutterが一番盛り上がってるんじゃないかなと個人的には思ってます。(^ ^)

Flutterのコンセプトは、“ビューティフルデザイン”のアプリがサクサク作れる事。
ただワンソース・マルチユースが目的ではないんですねー。

デザイン部分っていうのは一般のプログラマが苦手とする分野である事は間違いなくて、それがFlutterの用意しているウィジェット(UIパーツ)、ロジックに従って書けばプログラマは何の意識もなく今風のアプリが作れちゃうところが他のハイブリッド系フレームワークにはない良いところだと思います。

それとHTTP要求やチャート描画、カメラおよび画像トリミング、QRコード描画/読み込み等多彩なパッケージがコミュニティによりすでに多数用意されていて、ほとんど開発の手間なく実装できてしまうことが素晴らしいところです。
(Cocos2dの場合は、ネイティブ連携使って地道にコーディングしてました・・・)
まあ要するにコミュニティの力で使いやすい環境がすでに整っているわけですね。
ネイティブ系機能の利用で意識しなければならないのはPodやgradleでインストールするライブラリの準備がきちんとできているかって部分ですかね。

今回の発表で個人的にとても気になったのはFlutter内で”状態”の利用、すなわちモデルの扱い方として新たに用意されたpackage:providerでしょうか。
これまではBLoCとかScopedModelで対応してきた部分で、Flutterではモデルの扱いについて最適解がなかったように思います。
ちなみにBLoCは実装が面倒そうなので個人的に敬遠してました。
苦肉の策としてScopedModelを用意して、アプリ全体にApplicationDelegateのように紐づけ、buildメソッドの前でScopedModelを取得して利用してます。
このあたりがProviderを使う事でよりシームレスに使えるようになるのかなー。

Flutter界隈が盛り上がってきたおかげで、ようやくDart言語にも実りがでてきましたね。
Dartはバージョン3になるそうです。

また、ハミングバードよろしくマルチプラットフォーム化が加速されてます。
ブラウザ向けにJavascriptコンパイルできるようになるみたいですが
I/Oを視聴して感動したのは、すぐさまデバッガを用意してきたところ。
デバッガがあるのとないのとでは開発効率大違い。これによってFlutterの扱いやすさが随分上がることでしょう。

ハイブリッドアプリで気になる点としてはやはりパフォーマンスの点ですが、Flutterの場合は動作エンジンとしてC++を利用しているそうです。すばらしい。Cocos2dと一緒です。
ただFlutterフレームワークがC++実装を隠ぺいしているから開発者はC++をまったく意識することなくコーディングできるのでC言語が苦手でも何の問題もありません。
C言語ベースなので動作も軽快そうです。
もちろんJavascriptコンパイルする時はC++エンジンではなくJavascriptエンジン(Flutter Web Engine)向けに変換されます。ここで重要なのはC++ベースだからこそ、Windowsやその他のエンベッド環境にもリユースできるようになるわけです。
すばらしい。Cocos2dと一緒です。
大事なことだから何度でも言います。

さて、FlutterはFirebaseを筆頭としたGoogleサービスにいち早く対応できるという意味でとても相性がいいでしょうから、Flutterが広まればそれだけFirebaseやMLの利用者が増えますね。
これによりGoogle自身の世の中への間口がどんどん広がっていくことでしょう。
このあたりはすなわちGoogle社のデータ収集に開発者が加担してしまう訳ですが、開発効率の観点からしてみれば便利なんだからしょうがないんじゃないかと思います。
あえてGoogleの用意したドラッグに心酔するのも開発者としての生き方の1つだと思ってます。 ( ・`ω・´)キリッ

そうそう、Flutterに熱中している人達の事をFlutteristaっていうらしいです。
フラッタラーだと勝手に思ってたんでとてもナイスな発見でした。
フラッタリスタの方が響きがいいです♪
興味のある方はツイッターで#Flutteristaと検索してみったらー。

以上、Google I/Oを拝聴させて頂いた所感でした!

いやーおもしろかった♪

コメントを残す

メールアドレスが公開されることはありません。