GoogleのFlutterはmacOSやWindowsも含む真のマルチプラットフォーム対応へ

GoogleのFlutterは、クロスプラットフォーム開発に対応した UIツールキット。登場してからまだ2年しか経っていないが、あっという間に多くのデベロッパーがこぞって採用するフレームワークとなった。ただし、これまでは「クロスプラットフォーム」の意味は、AndroidとiOSにのみ限定されていた。昨年末になってGoogleは、Flutterをモバイル用だけでなくウェブにも拡張すると発表した。そして米国時間5月7日に開催されたGoogle I/Oで、その言葉通り、ウェブ用Flutterのテクニカルプレビュー版を発表した。

さらにGoogleは、Flutterを利用して、macOSWindowsLinuxをターゲットにした開発がもうすぐ可能になることも明らかにした。すでにGoogle自身も、Flutterを利用してGoogle Home Hub(Nest Hubに改名)のユーザー体験を設計し始めているという。それ以外に、さまざまな組み込みデバイス用に活用することも視野に入れている。

「Flutterは、カスタマイズされたユーザー体験を開発するための、美しく、速く、生産的なオープンソースのツールキットです。もともとはモバイル向けとして、基礎的な部分から構築したものです」と、Flutter担当のグループプロダクトマネージャ、Tim Sneath氏は語った。「今回のニュースは、Flutterをモバイル専用という枠から開放し、モバイル、組み込み、さらにデスクトップを含む汎用のポータブルなUIツールキットに昇華させるという、大きな意味を持つものです」。

デフォルトでは、Flutterを利用するアプリはGoogleのDart言語で記述し、そこからJavaScriptにコンパイルすることができる。その点では、Flutterをブラウザ上で利用するのは単純なことのように思われる。しかし、Flutterのエンジンをブラウザ上で製品レベルの品質で動作させるには、それなりの開発作業が必要だった。Sneath氏によれば、Flutterチームは、ブラウザ上でもモバイルとまったく同様に動くようにするため、特に熱心に取り組んだという。それはデベロッパーからも、ユーザーからも、同じように見え、使えるものでなければならなかった。

「大きな課題は、標準的なウェブの機能を利用して、Flutterベースのリッチなユーザー体験を実現し、それをどうやってクライアントに届けるのか、ということでした」と、Sneath氏は説明した。ウェブ上で動かすということは、ユーザーによるウィンドウのサイズ変更のような基本的なことから、キーボードやマウスとのやりとりといったことまでサポートしなければならないことを意味する。

このような要件は、もちろんデスクトップにも当てはまる。ただし、デスクトップ用のコードは、まだ製品レベルには達していない。とはいえ、すでにデベロッパーはデスクトップ版での開発も試せるようになっている。Flutterチームによれば、現状ではmacOS版の完成度が最も高いが、それなりの覚悟があれば、Windows版やLinux版での開発も可能だという。

チームは、Flutterのコードベースを1つに統一したいと考えている。そうすれば、デベロッパーがさまざまに異なるプラットフォームをサポートする際にも、Flutterのフレームワークや、その上で動作するアプリのコードをフォークし直す必要がなくなる。「私たちは、1つのフレームワークですべての環境に対応できるようにしたいと考えています」と、Sneath氏は言う。しかも、一見するとデスクトップアプリに見えるウェブアプリではなく、ネイティブ動作するデスクトップアプリも含めての話だと強調した。

Sneath氏は、New York Timesのパズルアプリのデモを見せてくれた。モバイルとウェブで、見た目も操作感覚も、まったく同じだった。これはFlutterのデベロッパーにとって、理想的なシナリオに違いない。

今回のアップデートで、GoogleはFlutterのコアに、さらにいくつかの新機能を追加した。その中には、iOS用の新しいウィジェット、Googleならではマテリアルデザイン、Dart 2.3のui-as-codeのサポート、といったものが含まれている。さらにFlutterチームは、ML Kit Custom Image Classifier for Flutterも発表した。これを利用すれば、デベロッパーは自分のアプリに画像認識のワークフローを組み込むことができる。「スマホのカメラを使用してトレーニング用のデータを収集することができます。他の人にデータ収集に協力してもらうことも可能です。1つのアプリでモデルのトレーニングをすることも、トレーニング済のモデルを利用することもできます」と、チームは発表した。

今後の展望としては、テキストの選択やコピー、ペーストのサポート強化、プラグインのサポート、PWA(プログレッシブウェブアプリ)といった新技術を標準サポートすることも計画している。

画像クレジット:TechCrunch

原文へ

(翻訳:Fumihiko Shibata)

投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。