「Android」アプリと「iOS」アプリの両方の開発に利用できるGoogleのオープンソースUIフレームワーク「Flutter」の1.0がリリースされてから6カ月が経過したが、同社はこのフレームワークを拡張する大きな一歩を踏み出した。Googleは将来、「Flutter」を使うことで、1つのコードベースでモバイルアプリだけでなくウェブアプリ、デスクトップアプリ、組み込みデバイス向けアプリにも対応できるようにする。
GoogleのTim Sneath氏は、米ZDNetの取材に対して「このことは、顧客が利用しているあらゆるデバイス向けにアプリを開発して提供したい企業にとって、大きな違いをもたらす可能性がある」と語った。同氏によれば、このFlutterの拡張は「UI開発やアプリ開発に対する考え方を変える」という。
今回の拡張に関する発表は「Google I/O」で行われた。同社は、ウェブ向けFlutterの最初のテクニカルプレビューをリリースするとともに、デスクトップ向けアプリに対応する最初のステップを示している。また、このフレームワークを「Google Home Hub」をはじめとする同社のスマートディスプレイプラットフォームに使用していることを明らかにし、Flutterが組み込みデバイスでも利用できることを示した。
Flutterは比較的新しい技術だが(最初に発表されたのは2018年2月であり、「本番環境で利用可能」(production ready)になったと宣言されたのは2018年のGoogle I/Oでのことだ)、今回の拡張が進められた理由の1つは、社内でこのフレームワークを利用しているチームから刺激を受けたことだった。きっかけの1つは、「Dart」プラットフォームを社内で利用するためのウェブプレームワークを構築しているある小規模なチームが、ウェブでのFlutterの利用を模索し始めたことだったという。
現時点のウェブ向けのFlutterは、HTMLが適しているドキュメントのエクスペリエンスを置き換えるためのものではない。むしろ、インタラクティブ性が高く、グラフィックを多用したコンテンツを構築する手段として設計されている。Googleはこれを示すため、The New York Timesと協力して、パズルゲーム「KENKEN」をFlutterを使用して作り直した。このゲームは、コードを変えずにiOS、Android、ウェブ、Chrome OSで動作する。
一方同社は、FlutterをWindows、Mac、Linuxで動作するデスクトップ向けアプリに対応させるために行ってきた作業についても紹介した。例えば、Chrome OS用アプリ開発のためのツールや、キーボードやマウス、ウィンドウのリサイズといった新たな入力パラダイムを追加している。これらの成果は、すでにFlutterエンジンのコアに追加されているという。これらは本番環境で利用可能な段階には至っていないが、GoogleはGitHubにMac、Windows、Linuxで動作するFlutterアプリの開発に関する初期バージョンの資料を公開した。
Chrome OSはAndroidアプリとLinuxアプリの両方を実行できるため、Flutterアプリの実行プラットフォームとしても、開発プラットフォームとしても適しているとGoogleは述べている。Chrome OSを利用すれば、Flutterアプリの開発に「Visual Studio Code」と「Android Studio」のどちらを使用することもでき、同じデバイス上でエミュレーターを使わずにローカルでアプリのテストと実行を行える。