Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023
今回は「Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023」についてご紹介します。
関連ワード (基調講演、状態、発表等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
GoogleでFlutter & DartのプロダクトとUX担当ディレクターTim Sneath氏は、アフリカのケニア共和国ナイロビで開催された「Flutter Forward 2023」の基調講演で次のように話し、Flutterの進化の方向性を示しました。

「Flutter for Webは汎用目的でデザインされてはいないことを明確にしておきたい。すでにDOMの分野で上手く行っているAngularやVue、Reactのような、DOMベースの新たなフレームワークを作ろうとしているわけではない。
そうではなく、(CanvasやWebAssemblyのような)新しいWeb標準をベースとする最初のフレームワークを作ろうとしているのだ。」
その上で、Flutter for WebがWebAssemblyをサポートする予定であることを明らかにしました。

「FlutterからWebAssemblyへのコンパイルを近々サポート予定だ。 現在標準化が進んでいる、WebAssemblyをガベージコレクション対応に拡張したWebAssemblyGCを最初にサポートするフレームワークになる。」(Tim Sneath氏)
FlutterのWebAssemblyサポートにより、ロード時間の短縮と実行性能の向上が期待できるとしています。
FlutterをコンポーネントとしてWebアプリに組み込める
続いて明らかにされた新機能が「Element embedding」です。
この機能は、divタグを使ってFlutterアプリをコンポーネントとしてWebアプリケーションに組み込めるようになる、というものです。
divタグを用いてFlutterのコンポーネントに対してCSSの適用も可能。
下記は画面左がJavaScriptとHTMLなどを用いた通常のWebアプリケーションで、右側にElement embeddingを用いてFlutterアプリケーションが埋め込まれています。しかもCSSによって反転した状態でも問題なく動いていることが示されました。

通常のWebアプリケーションとFlutterアプリケーションの相互運用性が非常に高まることが期待されています。
また、GPUを活用した高速な視覚効果を実現するピクセルシェーダーも実装される予定です。

新しい描画エンジン「Impeller」とFlutter 3D
Flutterのモバイル対応の進化について。
今後、スマートフォンでニュースを読むニーズはさらに高まるとして、ナビゲーション、サーチ、認証、サブスクリプション機能などを備えたニュースアプリを迅速に開発できる「Flutter News Toolkit」を提供。

大規模に書き直したグラフィックエンジン「Impeller」は、現在iOSでプレビューとなっていますが、今後ほかのプラットフォームにも展開されていきます。

Blenderで作成した3Dモデルをglbファイルとして読み込んで操作できるFlutter 3D機能も紹介されました。

Flutter Foward 2023
- Flutter 3.7正式リリース。スクリーンサイズにUIレイアウトが自動対応、GPU活用による高速描画エンジン「Impeller」がプレビューに
- Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023
- 次期「Dart 3」はNullセーフ、WebAssemblyとRISC-Vサポートなど、Googleが発表。Flutter Forward 2023