Flutter の「本格活用の時代」を祝う

12月 17, 2024
Michael Thomsen Group Product Manager

クロス投稿先: Flutter


Flutter 1.0 を発表したのは、ちょうど 6 年前でした。そして本日、#FlutterInProduction でその実績をお祝いしています。これまでの期間を通して、コミュニティのたくさんの寄与者から膨大なサポートが寄せられ、マルチプラットフォーム アプリ エクスペリエンスを開発できるプロダクショングレードのアプリ フレームワークとしての Flutter が幅広く採用されるようになっています。

まだ Flutter を体験していない方は、ぜひお試しください。今お伝えしたように、皆さんは大きなグループに参加することになります。Flutter には、世界中で毎月 100 万人を超えるアクティブなデベロッパーが存在するほか、すべての新しい iOS アプリの約 30% で Flutter が使われています。60 か国以上の 9 万人以上のデベロッパーが、Flutter のミートアップに積極的に参加しています。また、成功につながる新しい Flutter アプリの設計や開発に関してアドバイスが必要な方にサポートを提供できる Flutter コンサルタントがたくさんいて、その数は増え続けています。

「Apptopia は、Apple AppStore と Google Play ストアで数百万個のアプリを追跡し、アプリで使われているデベロッパー SDK を分析および検出しています。私たちが追跡している SDK の中でも、特に人気が高いのが Flutter です。Apple AppStore では着実に増加しており、Flutter は 2021 年の追跡結果ではすべての無料アプリの約 10% でしたが、2024 年には約 30% になっています!
」- Apptopia Inc.

本格活用の時代に至るまでの 10 年間のイノベーション

ここまでの道のりは途方もないものでした。はじまりは 2014 年、「Sky」というコードネームのもとで Google が行っていた実験でした(現在では、実験の時代と呼ばれています)。

Flutter が登場する前、妥協は避けることができないものでした。多くのデベロッパーは、真の意味で複数のプラットフォームにまたがるプレミアムなエクスペリエンスを提供できるフレームワークがあるとは思っていませんでした。

2018 年に Flutter 1.0 をリリースしたことで、このテクノロジーのジレンマを解決するという明確な使命が私たちに生まれ、すべてのプラットフォームで美しく高性能なユーザー インターフェースを作るための究極のアプリ フレームワークをデベロッパーに提供することを目指すことになりました。また、顧客が関心を寄せるすべてのプラットフォームで、デベロッパーが高品質のアプリによってあらゆる顧客にリーチできるようにしつつ、コストを削減し、時間を短縮できるようにしたいと考えました。

その後、モバイル、ウェブ、デスクトップにまたがる 6 つの主要プラットフォームのサポートを追加しましたが、私たちの狙いは Flutter の成長期を通じて一貫しており、これからも限界を押し広げ続けていきます。トヨタがインフォテインメント システムに Flutter を採用したのも、その 1 例です。

Flutter production timeline over the last decade

私たちは今、「本格活用の時代」にあり、#FlutterInProduction でそれをお祝いしています。このイベントでは、実際のアプリケーションで Flutter を使っているデベロッパーの成果に注目します。

Link to Youtube Video (visible only when JS is disabled)

コミュニティとともに開発する

これを実現できたのは、1,400 を超える寄与者、50,000 以上のパッケージを作った 10,000 を超えるパッケージ パブリッシャー、そして情熱的な Flutter のコンテンツ クリエイターやファンによるすばらしいコミュニティがあったからこそです。

私たちは、寄与数でトップ 5 の GitHub オープンソース プロジェクトになっています!


すばらしいユーザー エクスペリエンス

すべては、すばらしいユーザー エクスペリエンスの実現に向けた取り組みから始まります。典型的なプラットフォームの制約から解放された Flutter は、幅広いデザイン言語をサポートしています。マテリアル デザインのサポートと、Apple に着想を得た Cupertino ウィジェットは、SDK に付属しています。ほかにも、Windows に着想を得た fluent_ui、macOS に着想を得た macos_ui、Ubuntu に着想を得た yaru ウィジェットなど、このエコシステムには幅広いデザイン ライブラリがそろっています。


スカンジナビア航空がデザインで受賞

Flutter は柔軟で強力なので、デザインチームが思い描くあらゆるデザインを実現できます。この点は、スカンジナビア航空(SAS)の事例を見れば明らかです。SAS は、Flutter で新しいモバイルアプリを作ってから、レッド・ドット・デザイン賞、ウェビー賞のピープルズ ボイス賞、iF デザイン ゴールド賞などの権威あるデザイン賞でそのトロフィー ケースを埋め尽くしました。SAS の EVP 兼 CIO である Charlotte Svensson 氏は、次のように説明しています

「この賞をとても誇りに思っています。これは業界の賞であるだけでなく、世界的な認識を表すものです。カスタマー エクスペリエンスの向上を重視していつも以上に努力し、お客様と対話しながら開発を進めれば、ここまでのことができるということを示したものです。SAS は常に航空業界のイノベーションの最前線に立っています。この賞は、お客様に優れたデジタル ソリューションを提供するために努力してきた証です」
Scandinavian Airline design awards

高いパフォーマンスと信頼性

パフォーマンスと信頼性は、優れたユーザー エクスペリエンスやブランド認知に不可欠です。アプリが遅かったりクラッシュしやすかったりすると、短期的にユーザーを不快にさせるだけでなく、否定的なレビューや口コミを通じて、長期的にブランドの評判が損なわれる可能性があります。

Flutter は最初からパフォーマンスと信頼性を優先してきました。ネイティブ マシンコードやウェブ アセンブリに事前コンパイルできる Dart プログラミング言語を選んだので、短時間で安定して起動できます。Dart には高度で null 安全な型システムがあるので、開発中にエラーをキャッチでき、信頼性はさらに高まります。また、マルチプラットフォーム UI 専用に設計された Flutter のカスタム Impeller レンダリング エンジンのおかげで、スムーズなアニメーションを実現でき、UI ソースコードから GPU までのレンダリング スタックを完全に制御できます。


ユニバーサル スタジオのパフォーマンスと信頼性

たとえば、ユニバーサル・デスティネーションズ & エクスペリエンシズは、最近 Flutter を採用したことで、アプリのサイズを縮小でき、不安定なインターネット接続しかないユーザーに大きなメリットをもたらしました。それだけでなく、アプリのクラッシュは劇的に減少してほぼゼロになり、総保有コストも下げることができました。

Link to Youtube Video (visible only when JS is disabled)

LG エレクトロニクスのパフォーマンス

LG エレクトロニクスは、従来のネイティブ アプリの開発コストの高さを懸念し、以前から webOS を搭載したスマートテレビでウェブアプリを活用しています。しかし、ウェブアプリは起動が遅く、ネイティブ アプリよりも消費メモリが多いことがわかりました。そこで Flutter を活用し、開発期間の短さと優れたパフォーマンスを両立させたソリューションを提供しています。それを受けて、2025 年以降は、世界の webOS テレビの主要アプリケーションで Flutter を利用する予定です。

Link to Youtube Video (visible only when JS is disabled)

最高クラスのデベロッパー エクスペリエンスとエコシステムの繁栄

Flutter が成功できた大きな理由は、デベロッパー エクスペリエンスを重視していることにほかなりません。私たちは、ステートフル ホットリロードによるインスタント デベロッパー ワークフローの先駆者となり、成長期には Flutter DevTools を追加して、診断とデバッグのワークフローを大幅に高速化しました。

Flutter のコミュニティは、オープンなエコシステムとして繁栄しており、10,000 を超えるパブリッシャーが公開する 50,000 超のパッケージに加え、安定したサードパーティ サービス テクノロジーがあります。また、成功につながる新しい Flutter アプリの設計や開発について相談したいなら、お手伝いできる Flutter コンサルタントはたくさんいます。


MGM とデベロッパーの生産性

アプリ エージェンシーの Superformula は、2020 年 8 月から Flutter を使って開発しています。Flutter は学びやすく、ドキュメントも豊富なので、新しいチームメンバーでも短時間で効率的に貢献できることがわかったからです。

また、Superformula は、Flutter を使って MGM リゾートの 400 以上のレストランのデジタル ダイニング エクスペリエンスを刷新しました。新しい Flutter ベースの MGM Rewards アプリは、わずか 4 か月で再構築でき、コードの総量は半分に、配信速度は 4 倍になりました。Superformula がここまで生産性を高められたのは、モバイル、タブレットベースのキオスク、ウェブベースのツールでコードを共有できたからです。

Link to Youtube Video (visible only when JS is disabled)

GEICO user interface elements - Flutter
GEICO では、ウェブ、iOS、Android で共通のユーザー インターフェース要素を利用している。

今後の予定をこっそりと紹介

前述のように、今後の数年間で Flutter チームが取り組むべき最も重要な作業は、世界中の何億人ものユーザーに Flutter ベースのエクスペリエンスを提供している企業の要求に応えて、サポートの品質と強度を維持することです。

このような進化するニーズに対応するために、いくつかの重点分野を定めています。

  • iOS の再現度のさらなる向上: Cupertino ウィジェットを拡張することで、Apple のデザイン言語の再現度を上げ続けます。また、Swift Package Manager などの最新の Apple エコシステム標準を採用する作業を続けます。

  • シームレスなプラットフォーム連携: 相互運用性への新しいアプローチ(直接的なネイティブ相互運用)を検討しています。これにより、C、Java、Kotlin、ObjectiveC、Swift で利用できるプラットフォーム固有の API に簡単にアクセスできるようになることが期待されます。

  • デベロッパーの生産性向上: デベロッパー ツールを進化させ続けています。新しい UI デザイン機能を検討しており、視覚プロパティをリアルタイムに編集できるライブ ウィジェット プレビューアを実現したいと考えています。

  • 簡潔で読みやすいコード: デベロッパーの生産性を高めるため、Flutter コードを短時間で記述できる読みやすいものにする方法を検討しています。これには、「プライマリ コンストラクタ」や「列挙型の省略形」などの新しい言語機能候補が含まれています。また、Flutter フレームワークを確認しながら、一般的なコードを簡潔に記述できるようにする新しい API を探す作業も行っています。

Rivers 氏が述べているように、確かに「少し洗練され、少しプロフェッショナルになった」ので、これからもそう感じてもらえるようにしたいと考えています。


#FlutterInProduction を使用する準備はできていますか?

最近 Flutter を試していない方は、今が絶好のチャンスです!

まず他の人の経験から学びたい方には、以下がおすすめです。

  • Flutter コミュニティに参加する: 地元のミートアップを探す、フォーラムに参加する、Slack に参加する: https://flutter.dev/community

品質とパフォーマンスに重点を置くことで、皆さんの信頼を勝ち取ろうとしている点は変わりません。私たちは、ユーザーのニーズに基づいてロードマップを推進し続けます。ユーザーの皆さんも、これまでの 6 年間の成長期を通じて進化してきました。実験の時代には個人やファンの皆さんが、そして今は大企業がビジネス クリティカルな機能に Flutter を活用しています。

いつものように、皆さんの次のアプリのリリースを楽しみにしています。また会いましょう!