ニュース

Google、「Flutter 3.22」「Dart 3.4」を発表 ~WASMが安定版に、マクロの導入も開始

「Android KitKat」(API 19)のサポートは終了

Google、「Flutter 3.22」「Dart 3.4」を発表

 米Googleは5月14日(現地時間)、開発者イベント「Google I/O 2024」で、「Dart 3.4」「Flutter 3.22」を発表した。パフォーマンスの向上とプラットフォーム固有の改善が行われている。

 今回のアップデートの目玉は、Flutter Webアプリ(WASM、WebAssembly)のフルサポートだ。安定チャネルで利用できる信頼性が得られたほか、パフォーマンスが大幅に向上しているという。M1搭載のMacBookで「Google Chrome」を使用した社内ベンチマークでは、「Wonderous」アプリのフレームレンダリング時間が平均で2倍、最悪のシナリオでは3倍も改善されているという。

 また、「Flutter 3.22」ではレンダリングエンジン「Impeller」にも多くの変更が加えられた。AndroidでグラフィックスAPI「Vulkan」を用いたバックエンドが完成し、よりスムーズなグラフィックスとパフォーマンスの向上を実現したほか、引き続きぼかし効果や複雑なパスレンダリングが最適化されている。今後はiOSでも「Impeller」への移行を完了させるほか、Androidサポートの拡充を行っていくという。

 加えて、AI関連では「Vertex AI for Firebase Dart SDK」がパブリックプレビューとしてリリースされた。これにより「Gemini」APIを用いて生成AI機能を組み込んだFlutterアプリを開発するのが容易になる。

 一方、「Dart 3.4」ではJSONのシリアル化と逆シリアル化のための新しいアプローチ「JsonCodable」マクロがプレビューされた。Webと連携するアプリではJSONのシリアライズ処理が不可欠で、頻出するにも関わらず、「Dart」はパフォーマンス上の理由からランタイムリフレクションをサポートしていないため、退屈な処理の繰り返しを強いられていた。

 しかし、これがマクロシステムの導入で一挙に解決される。まずはJSONのシリアライズ処理でマクロ機構を導入し、パフォーマンスと安定性が満足できる水準に達したら、開発者が独自にマクロを定義できるようになるだろう。

JSONのシリアライズ処理でマクロ機構を導入

 なお、「Dart 3.4」「Flutter 3.22」では一部の非推奨機能が廃止されているので注意。とくに「Flutter」がサポートするAndroidの最小バージョンが「Android Lollipop」(API 21)引き上げられ、「Android KitKat」(API 19)を実行しているデバイスでは動作しなくなっている点には留意したい。