Googleがあらゆるプラットフォーム向けにネイティブアプリを開発できる「Flutter 2」を発表
Googleがオープンソースのアプリケーションフレームワーク「Flutter」のメジャーアップグレード版となる「Flutter 2」を発表しました。単一のコードベースからモバイル・ウェブ・デスクトップ向けにネイティブにコンパイルされたアプリケーションを開発可能です。
Google Developers Blog: Announcing Flutter 2
https://developers.googleblog.com/2021/03/announcing-flutter-2.html
GoogleがFlutterのメジャーアップグレード版となる「Flutter 2」を発表しました。Flutter 2では同じコードベースでiOS・Android・Windows・macOS・Linuxといった5つの異なるOS向けにアプリをリリースすることが可能になります。また、Chrome・Firefox・Safari・Edgeといったウェブブラウザ向けのエクスペリエンスも同様に開発可能。加えて、自動車・テレビ・スマートホーム機器向けの組み込みアプリケーションの開発にも使用できます。
Googleは「我々の目標はプラットフォームをターゲットとするわけではなく、作成したいエクスペリエンスからスタートすることで、開発者がアプリを構築する方法を根本的に変えるということです。Flutterを使用すると、ブランドとデザインを優先した美しい体験を作ることができます。Flutterは高速でソースをマシンコードにコンパイルしますが、ステートフルホットリロードをサポートしているため、環境の生産性を維持しながら、アプリの実行中に変更を加えても結果をすぐに確認することができるようになります。また、Flutterはオープンソースであるため、何千人ものコントリビューターがコアフレームワークに追加し、パッケージのエコシステム拡張に使用しています」と記しています。
Google Play上で配信されているアプリだけでもすでに15万を超えるアプリがFlutterで開発されています。これらのアプリはプラットフォームごとにコードを書き直さなくても簡単にデスクトップやウェブ向けにアプリをリリースすることができるため、開発者は手軽にアプリの配信先を増やせます。また、Flutterを使用しているユーザーは無料でFlutter 2にアップグレードすることが可能です。
WeChat、Grab、Yandex Go、Nubank、Sonos、Fastic、Betterment、realtor.comといった人気アプリの開発者がFlutterを使用しており、Google社内でも1000人を超えるエンジニアがDartとFlutterを使用してアプリを開発しているとのこと。なお、Google製品ではStadia、Google One、Google Nest HubといったアプリがFlutterを通してリリースされています。
Google Payも数カ月前にFlutterに切り替えたそうで、Googleは「すでに生産性と品質が大幅に向上しています」と、Flutterへの移行により開発環境がより良いものになったと語っています。開発チームはコードベースを統合することで、プラットフォーム間の機能の不一致を取り除くことと、50万行を超える不要なコードの削除に成功したとのこと。
Flutter 2における最大の特徴は、ウェブ向けサポートの進化です。Flutter 2はハードウェアアクセラレーションされた2Dおよび3Dグラフィックスと、柔軟なレイアウトおよびペイントAPIを備えた高度に洗練されたアプリを可能にする、より豊富なプラットフォームAPIを包含するように進化しています。
Flutter 2の初期リリースでは特に「ウェブとリーチとデスクトップアプリの機能を組み合わせたプログレッシブウェブアプリ(PWA)」「一度ロードしてインターネットサービスとの間でデータを送受信するシングルページアプリ(SPA)」「既存のFlutterモバイルアプリをウェブに持ち込み、両方のエクスペリエンスで共有コードを有効にする」という3つに焦点が当てられているとのこと。
すでにFlutterで構築されたウェブアプリのいくつかは利用可能。iRobotのプログラミングロボット「Root」用のプログラミングツールでもFlutterが使用されています。
さらに、Flutter 2はデスクトップや組み込み機器などの開発にも利用できるため、複数企業とのパートナーシップを進めています。Googleは特に重要なパートナーシップとして、FlutterとLinuxの関係を進めるための「Canonicalとの提携」、Windowsのサポートを拡張するための「Microsoftとの継続的なコラボレーション」、そして「トヨタとの提携」を挙げています。トヨタとの提携により、Flutterを用いた車載システムの開発が行われることとなる模様。
さらに、GoogleはGoogle Mobile Ads for Flutterのベータ版もリリースしました。これはAdMobやAdManagerと連携することで、バナー・インタースティシャル・ネイティブ・リワードなどの各種動画広告に、さまざまな広告フォーマットを提供するという新しいSDKです。Googleはすでに一部の顧客とGoogle Mobile Ads for Flutterを試験運用してきたとのことで、今後さらに多くの企業向けに提供されていくこととなるわけ。
Flutterがさまざまなプラットフォーム向けにアプリ開発が可能になる理由は、プログラミング言語に「Dart」が採用されているためです。GoogleはFlutter 2の発表と同時にDart 2.12もリリースしており、詳細は以下のページからチェックできます。
Announcing Dart 2.12. Sound null safety and Dart FFI ship to… | by Michael Thomsen | Dart | Mar, 2021 | Medium
https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87
・関連記事
プログラミング言語別に見るプログラマーの給与や人気ランキングなど世界のプログラマーを対象にした調査結果が公開中 - GIGAZINE
Google発のプログラミング言語「Go」の利用状況を調査した結果が公開中、どこでどのように使われているのか? - GIGAZINE
プログラマーが本当に支持するプログラミング言語がわかる「人気の高いプログラミング言語2019」が発表 - GIGAZINE
Googleで1400万円以上稼ぐエンジニアになるためにマスターすべき11のスキル - GIGAZINE
Googleの中の人が開発した子どもを飽きさせずプログラミングを楽しく習得できるキット「Bitsbox」 - GIGAZINE
・関連コンテンツ