ニュース

Google、「Flutter for Windows」を発表

人気のモバイルUIキット「Flutter」でWindowsデスクトップアプリを開発

Google、「Flutter for Windows」を発表

 米Googleは2月4日(現地時間)、「Flutter for Windows」を発表した。同日リリースされた「Flutter 2.10」の安定版ビルドを利用すれば、Windows向けのデスクトップアプリを開発できる。

 「Flutter」は、クロスプラットフォーム(iOS/Android、Web)対応・オープンソースのユーザーインターフェイスツールキット。とくにモバイルアプリ開発においては高い人気を誇り、開発者向けのQ&Aサイト「StackOverflow」で2021年に実施された調査では、開発者に愛されているフレームワーク第2位となっている。

「StackOverflow」で2021年に実施された調査で「Flutter」は開発者に愛されているフレームワーク第2位

 「Flutter」のWindows実装は、iOS/Androidの場合と同様、Dart言語で記述されたフレームワークとC++言語で開発されたエンジン、そしてOS固有の機能を扱うエンベダーの3層からなる。エンジンから上の層はプラットフォームに関わらず同じで、アプリ開発者はこれまで通りDart言語でアプリを開発できる。

「Flutter for Windows」のアーキテクチャー。ポータブルな「Skia」グラフィックスライブラリの上にフレームワークが動き、下層ではネイティブAPIとの対話を行う

 OSのAPI(Win32、COM、Windows Runtime)との対話は、Dart/C言語の相互運用機能を用いて直接、またはC++言語で開発されたプラットフォームプラグインを用いて行う。代表的なプラグインの多く(camera、file_picker、shared_preferencesなど)がWindowsに対応しているが、コミュニティによるサポートも進んでおり、Windowsのタスクバー統合からシリアルポートへのアクセスまで、さまざまなパッケージが用意されているという。スクリーンリーダーをはじめとするアクセシビリティ機能への対応は、Microsoftの協力を得て行われたものだ。

 WindowsにピッタリのUIを構築するには、「fluent_ui」や「flutter_acrylic」パッケージを活用して「Fluent Design System」に準拠させるとよい。「msix」ツールで開発したアプリをパッケージングすれば、「Microsoft Store」でアプリを公開することも可能だ。

「Flutter for Windows」で開発されたWindowsデスクトップアプリの例