BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Flutter 2.10でWindowsサポートが安定版に

Flutter 2.10でWindowsサポートが安定版に

原文(投稿日:2022/02/09)へのリンク

バージョン2.10をリリースしたUIフレームワークのFlutterは、安定版のWindowsサポートを加えることで、サポート対象のプラットフォーム数を拡張した。さらに新リリースでは、パフォーマンスが向上し、Material 3への移行が始まっている。

Windowsサポートが導入されたことで、iOS、Android、Web、そしてWindowsで動作するクロスプラットフォームアプリの開発が、Flutterで可能になった。さらにmacOSとLinux用のFlutterも現在、ベータ版で提供されている。

Flutter for Windowsは、FlutterのレンダリングシステムであるSkiaグラフィックエンジンやウィジェットなど、他のプラットフォーム用と同じコア機能セットを提供する。また、Windows用のFlutterアプリでは、C言語レベルの相互運用性を提供するDartFFIレイヤを使うことにより、任意のWin32、COM、およびWindows Runtime APに加えて、一部のC++プラットフォームプラグインの使用も可能になっている。

Windowsとの連携は、しかしながら、それだけに留まらない。camerafile_pickershared_preferenceといったFlutterプラグインの多くが、Windows上でネイティブに動作するように拡張されているのだ。さらに何百というDartパッケージが、webviewbatteryserial_portなどのWindows APIに、CレベルのFFIを使用せずに直接アクセスできるようになっている。

最も重要なのは、flutter_uiflutter_acrylicといったパッケージによって、Windows版FlutterがMicrosoft Fluentデザインをサポートしていることだ。これにより、ネイティブな外観を持ったWindowsアプリの開発が可能になる。

アーキテクチャの観点から、Flutter for Windowsには3つの主要なレイヤがある。ジェスチャのサポートやアニメーション、描画、ウィジェットなどを提供する、高レベルのDartフレームワーク。C++で記述され、DartランタイムとSkiaグラフィックエンジンを含む中間層のFlutterエンジン。そして、Windowsメッセージの転送とディスパッチを担当する低レベルのC++レイヤである。

Windowsの安定版サポートはFlutter 2.10の最も重要な新機能だが、取り上げるべきものは他にもある。新リリースには特に、実行時やビルド時のパフォーマンス向上が数多く含まれている。iOSではダーティ領域の部分再描画(partial repaint)がサポートされたことで、一部のベンチマークではGPU使用率が90パーセントから10パーセントに低減された。同じく、イメージの不透明度の処理も大幅に高速化されている。タイプフロー分析の実装も刷新されており、ビルド時間が約10パーセント削減された。

前述のように、Flutterの新リリースではMaterial 3への移行も開始されている。この変更は、自動生成されるカラーパレットを高度に活用することでUIのカスタマイズを可能にし、よりパーソナルなUIを提供することを目的とするものだ。

さらにFlutter 2.10には、ここでは要約できないほど多くの内容が含まれているので、オリジナルの発表内容を確認して、その全容を把握することをお勧めする。

作者について

この記事に星をつける

おすすめ度
スタイル

BT