最近のGoogle I/O会議でGoogleはFlutter 3を発表した。このバージョンでは、macOSとLinux向けに安定したサポートが提供される。結果として、Flutterのクロスプラットフォームロードマップが完成した。Flutter 3では、Apple Siliconと新たなCasual Game Toolkitに対するサポートも提供される。
macOSとLinuxの安定したサポートのリリースにより、Flutter 3アプリを同じDartコードベースを共有する6つの異なるプラットフォームで実行することができる。MacOSとLinuxに加えて、Flutter 3はiOS、Android、Web、Windowsをサポートする。
プラットフォームサポートを追加するには、ピクセルのレンダリングを超えるものが要求されます。それは、新しい入力モデルとインタラクションモデル、コンパイルとビルドのサポート、アクセシビリティと国際化、プラットフォーム固有の統合などです。
Superlistの共同創設者であり、設計責任者のBrandon Arnold氏は、自身の企業がデバイスとオペレーティングシステム横断で完璧なユーザーエクスペリエンスと一貫した動作を実現する上で、Flutterが役に立ったと述べている。
Googleはまた、Casual Games Toolkitを導入することで、Flutterの適応範囲をゲーム開発に拡大しようとしている。これは、アプリを広告、アプリ内購入、Firebase、Play Services、Game Centerなどのサービスと簡単に統合できるようにすることを目的としている。これに加えて、開発者はこれらすべてのサービスを統合するゲームテンプレートも入手できる。
GoogleはFlutterを高度な3Dアクションゲームの開発に使おうとはしていない。むしろ、Flutterは、ハードウェアアクセラレーションによるグラフィックスを簡単に活用したいカジュアルゲーム開発者にとって興味深い選択肢となる。さらに、Googleによると、PUBG Mobileで紹介されているように、Flutterを使って、どのゲームに対しても非ゲームのUIを作成することができる。
いつも通り、Flutter 3とともに、GoogleはDartの新しいバージョンもリリースしている。Dart 2.17は、生産性と移植性に重点を置いている。そこには新しい言語機能が追加されており、メンバーをサポートする列挙型、スーパークラスへのパラメーター転送の改善、名前付きパラメーターの柔軟性の向上などが含まれている。また、ダートリンターのpackage:lints
とdart:ffi
を介したCとの相互運用も改善されている。
前述のように、FlutterとDartの新しいリリースではApple Siliconを完全に採用している。
Flutterはそのリリース以来、M1搭載のAppleデバイスとの互換性を提供しています。一方で、FlutterはDartが提供するAppleシリコンのサポートを最大限に活用することで、M1搭載デバイスでのはるかに高速なコンパイルとmacOSアプリのユニバーサルバイナリをサポートするようになりました。
最後に、Flutter 3は、Material 3サポートの作業も進めている。これはFlutter設計システムの基盤を提供するものである。そこには動的な色のサポート、より優れたタイポグラフィ、コンポーネントの改善が含まれる。