Googleはオンラインイベントでモバイルアプリ構築のためオープンソースUIツールキットのリニューアルを発表した。Flutterは2年前にモバイル分野をターゲットとしてスタートしたが、今回のバージョン2ではウェブとデスクトップのアプリをサポートするようになった。これにより、FlutterのユーザーはiOS、Android、Windows、MacOS、Linuxに加えてウェブでも同じコードベースでアプリを構築できることとなった。
Flutterの開発責任者であるTim Sneath(ティム・スニース)氏は私のインタビューに対してこう述べている。
バージョン番号が2にアップしたわけですが、これはウェブとデスクトップがサポートされるというピボットに対応したものです。1つのジャンルで確立しているプロダクトがこのように大きな機能追加をすることは滅多にありません。
スニース氏は「オープンソースであるということから、Flutterはコミュニティによってしばらく前からウェブとデスクトップのサポートが開発されていたので、こうしたエンドポイントが今回正式に追加されたことは驚くべきものではありません」と述べている。2.0のリリースでは新しいプラットフォームにおけるパフォーマンスを従来のものと同等にするためには困難な作業が多数あった。
しかしFlutterのデスクトップサポートで注意すべきなのは、これがまだ安定版ではないという点だ。公式リリースチャンネルではデスクトップサポートにはアーリーリリースのフラグが立っている。Googleのエンジニアは「ベータ版のスナップショット」的機能と考えてもらいたいとしている。一方、ウェブサポートはベータ版から安定版に移行しており、Flutterを使ってアプリを構築するための正式なターゲットになっている。
スニース氏はウェブプラットフォームについて「チームは標準化を強く意識して伝統的なDOMベースのアプローチで開発を始めました」と述べた。それは正常に作動したがパフォーマンス、特に高度な機能のパフォーマンスが大きく低下した。そこでの1年ほど前からチームはCanvas Kitの開発を始めた。これはバイナリにコンパイル可能なWebAssemblyをベースにしたプロジェクトで、AndroidやChrome自体を動かすのと同じSkiaグラフィックエンジンを採用し、ウェブアプリから利用できるようにした。スニース氏はこういう。
簡単にいえばウェブアプリがHTMLをバイパスできるようになったということです。HTMLはウェブアプリの中でテキスト処理を中心とする部分です。WebAssemblyを利用してさまざまなテキスト処理、入力の自動補完、パスワード、認証などインターネット独特のさまざまな作業が従来どおりできます。
デスクトップでは、GoogleはCanonicalがFlutterを全面的に支持し、今後のデスクトップおよびモバイルアプリのデフォルトの選択肢としてFlutterを採用することを発表した。
MicrosoftもFlutterのサポートを拡大し、Googleと協力してWindowsの Flutterサポートを進めていいる。MicrosoftがAndroidに強い関心を寄せていることを考えればこれは驚きではない。実際、MicrosoftはAndroidが折りたたみ可能なデバイスをサポートするためのFlutterエンジンへの貢献を発表している。
GoogleによればAmazon、Microsoft、Adobe、Huawei、Alibaba、eBay、Squareなどの主要テクノロジー企業からFlutterとDart用のパッケージが1万5000以上提供されているという。
通常どおり、2.0へのアップデートにはマイナーな修正や改良が多数加えられている。
スニース氏は、Flutterチームは組み込みデバイスやその他のやや伝統的ではないプラットフォームのフレームワークとして、Flutterにもっと多くの時間を割く予定だと述べている。また、Flutterがアンビエントコンピューティング体験の強化にどのように役立つかにも興味を持っていると述べた。
将来の展望についてスニース氏は「Flutterチームは、組込みデバイスその他の主流からやや外れるプラットフォームのフレームワークとしてFlutterを拡張するために時間を割く予定です」と述べている。またFlutterがユーザーが操作を意識することなく実行できるアンビエントコンピューティングの強化にFlutterが役立つかのではないかとしている。
スニース氏はこう説明している。
アンビエントコンピューティングの世界の背景にはいくつなの条件があると思います。アプリは簡単に検索できるか?作ったアプリで金を稼げるか、それらが責任ある方法でできるかなどです。我々は、アンビエントサービスへのサポートも構築しています。アナリティクス、広告のフレームワーク、FirebaseやGoogle Cloudなどへの接続性なども改良し、Flutterの機能を利用するだけでなく、Googleが提供する幅広いエコシステム全体が利用できるようにしていきたいと考えています。
カテゴリー:ソフトウェア
タグ:Google、オープンソース、Flutter
画像クレジット:Google
[原文へ]
(文:Frederic Lardinois、翻訳:滑川海彦@Facebook)