Googleのオープンソース・マルチプラットフォーム・アプリケーションフレームワークであるFlutterは、同社によると2022年半ばに50万個あったFlutterベースの公開アプリが、現在100万個以上に増えており、最近かなり勢いを増している。昨年のGoogle I/Oで3.0のマイルストーンを達成したが、今年のI/Oでは、バージョン3.10を発表し、このプロジェクトの新機能を多数発表している。
Flutter 3.10の最大の改良点は、Flutterアプリの画期的なパフォーマンス向上を可能にする新しいレンダリングエンジンImpellerが、iOSでデフォルトで有効になっていることだ。自分のアプリでImpellerを活用するには、Flutter SDKをアップデートするだけで、その違いを自分の目で確認することが出来る。
バージョン3.10では、開発者は既存のWebアプリにFlutterコンポーネントをより簡単に統合できるようになった。これはGoogleがしばらく前に取り組み始めたことだが、今では開発者はFlutterの要素埋め込み機能を使って、他のCSS要素と同じようにFlutterコンポーネントを統合し、CSS要素と同じように操作することができる。
Googleは現在、ImpellerをAndroidで使えるようにすることに注力しているが、必要なVulkanグラフィックスAPIをサポートしていないデバイスがまだ存在するため、より厄介な作業となっている。Flutterはこれらのデバイスのために「後方互換モード」をサポートすることを約束しているが、Android向けのImpellerの完全サポートは、近い将来プレビューできるようになるはずだ。
Web上のFlutterもこの最新リリースで大きな改良を受け、基盤となるCanvasKitのサイズ縮小やフォントの使用方法の工夫により、”ケーブル接続のシミュレーションを使用した場合”のロード時間が42%短縮された。
一方、GoogleはWebAssemblyにDart(およびその他のガベージコレクション言語)のサポートを導入するための取り組みを行っている。この取り組みはまだごく初期の段階だが、完成すれば、Flutterアプリがこれまで以上に効率的になる可能性があり、Googleは “実行速度で最大3倍のパフォーマンス”になると述べている。今日からFlutterのWebAssembly対応でアプリをテストして、フィードバックをすることが可能だ。
Flutter 3.10のもう一つの大きな変更点は、プログラミング言語Dartのバージョン3.0が導入されたことだ。このバージョンアップにより、すべてのDartコードは、アプリのコードが予期せずNULL値を返すことがないように、健全なNULLセーフティで記述する必要がある。Googleは、以前からDartコミュニティに対してnullの安全性を高めるよう働きかけてきたが、Dart 3.0では、nullの安全性を確保することが必須となった。
Dart 3には、コードをより読みやすくするための便利な新機能がいくつか含まれている。例えば、「レコード」では、関数が1つの値だけでなく複数の値を返すことができ、「パターン」では、データを使用する前に簡単に検証することができる。
Sources
- Flutter: What’s new in Flutter 3.10
コメントを残す