調査会社のRedMonkはオープンソースフレームワーク「Flutter」の動向を分析、解説した。Googleが後押しするFlutterが、Metaが率いる「React Native」よりもクロスプラットフォーム開発で好まれているという。これがFlutterのベースとなっている「Dart」言語の伸びにもつながっていると分析した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
調査会社のRedMonkは2022年5月16日(米国時間)、Google主導で開発されているオープンソースフレームワーク「Flutter」の動向を分析、解説した。Flutterの目的は、単一のコードベースから、ネイティブにコンパイルされた高速で美しいクロスプラットフォームアプリケーションを作成できるようにすることだ。
RedMonkが2022年3月に発表した2022年第1四半期のプログラミング言語ランキングでは、上位20言語のうち、2021年第4四半期と比べて順位を上げたのは「Dart」のみだった。
そこでRedMonkは、人気を伸ばしているDartの今後を展望するため、DartをベースにしたフレームワークFlutterの動向を分析した。「これまでフレームワークがプログラミング言語の普及をけん引してきた」という認識からだ。RedMonkはこうしたフレームワークの例として、Rails(Ruby)、Node.js(JavaScript)、Spring(Java)の他、JavaScriptの進化や成長を促進してきた多くのフレームワークを挙げている。
RedMonkはFlutterの分析に先立ち、2022年第1四半期のプログラミング言語ランキングにおけるDartに関する説明を引用している。Dartは同ランキングで19位を占め、18位のKotlin、Dartと同じ19位のRustとともに、次のように説明されていた。
「Dartが順位を1つ上げて、Rustと同じ19位になったことは意外だった。KotlinとRustは20位にランクインしてから、それぞれ2四半期、1四半期で19位に上昇している。Dartは、30位台半ばだった時期から約3年で20位に食い込んだだけでなく、開発者の注目度が高まっているRustと同順位で並んだ」
RedMonkは今回の解説で、Dartについて次のように説明している。
「Googleは2011年10月にDartを初めて公開した。C言語のような構文を持つオブジェクト指向言語で、BSDライセンスを採用している。クライアントサイド開発で使いやすいように設計されており、ネイティブコードまたはJavaScriptにコンパイルできる。だが、新しいプログラミング言語が人気を得るのは簡単ではなく、業界では、『iOS』や『Android』向けのネイティブアプリケーションが脚光を浴びてきた」
「だが、その後、業界もDartも進化を遂げている。Dartでなされた主要な設計判断の一部は、現在のプログラミングスタイル、特にリアクティブプログラミングにうまく適合している。例えば、非同期モデルのサポートや、ストリームと関数のファーストクラスサポートなどだ」
RedMonkはFlutterについて、次のように分析、解説している。
Flutterは2017年5月に初めて公開された。Flutterのように単一のコードベースからクロスプラットフォームアプリケーションを構築できるようにする取り組みは、業界内で他にも「Xamarin」「PhoneGap」(Apache Cordova)、「Ionic」など、幾つかあった。だが、中でもFlutterは、iOS、Android、デスクトップ向けの見栄えの良いアプリケーション作成、展開に役立つようだ。Flutterを使うにはDartを学ぶ必要があるが、Dartは教育の観点からも十分にサポートされており、クロスプラットフォーム開発におけるチームの生産性を大きく向上させるからだ。
Flutterは「Google Pay」の再構築に使用されるほど成熟している。「Google Ads」のモバイルアプリケーションもFlutterベースだ。つまり、GoogleはDartとFlutterに加え、Dartに依存するコアアプリケーションも幾つか持っている。言語とフレームワークの普及に関しては、Googleの事業規模と資金力がものをいう。Meta(旧Facebook)と同社が開発を支援するオープンソースJavaScriptライブラリ「React」に見られるように、フレームワークや言語が成功するために、年間売上高1兆ドル規模の企業の後ろ盾が必要なわけではないが、それが役に立つことは確かだ。GoogleがFlutterとDartに投入できる、そして投入しているリソースはかなりのものだ。
Googleは2022年5月開催の年次開発者向けカンファレンス「Google I/O」で、「Flutter 3」を発表した。これまでFlutterはAndroid、iOS、Web、Windowsに向けたアプリケーションの開発をサポートしていた。Flutter 3はこれらに加えて、macOSとLinuxアプリケーション開発を正式にサポートした。また、Flutter 3で新たに導入された「Casual Games Toolkit」は、従来型モバイル開発のニッチをターゲットにしている。
教育面では、Googleはエバンジェリスト、エコシステム、ドキュメントに投資している。任意のWebブラウザでDartプログラミングを学べるツール「DartPad」が提供されており、このツールは、さまざまな言語のコーディングをハンズオン形式で学べる「Google Codelabs」にも統合されている。
FlutterはMetaが開発したオープンソースフレームワーク「React Native」と比較すべきだとRedMonkは指摘する。Reactは、UI構築のためのJavaScriptライブラリだが、React Nativeは、ネイティブAPIを使ってReactコードをネイティブUIとしてレンダリングできる。
GitHubのスター数は普及状況を正確に表すわけではないものの、関心度の指標としては有用だ。React Nativeが近年、伸び悩んでいるのに対し、Flutterは急成長しているように見える。
より短い期間で両者を比較すると、意外にも、DartフレームワークのFlutterが、JavaScriptフレームワークのReact Nativeと競合している可能性がありそうだ。
ただし、Reactエコシステム全体は勢いが継続している有力な存在だ。
Reactを自社用に構築し、その収益化計画を持たずにオープンソース化したMetaとは異なり、Googleには、クロスプラットフォーム言語の採用促進に投資する明確な金銭的動機がある。
多くの組織がiOSを念頭に置いてアプリケーションを構築しているという事実に、Android関係者は苦しんでいる。Androidユーザーはしばしば、ホットな新しいアプリケーションがiOS向けに登場してから、自分のデバイスで使えるようになるまでに、18カ月も待つ羽目になる。例えば、Instagramは、2010年10月にiOS版がリリースされ、Android版は2012年4月にリリースされている。
こうした状況はいまだに残っており、“iOSファースト”はAndroid関係者にとって悪夢だ。エンジニアリングリソースがiOS向け開発に優先的に振り向けられ、そのためにAndroidが魅力的な開発プラットフォームではなくなってしまうからだ。FlutterとDartがiOSアプリケーション向けに使われている「Swift」と「Objective-C」の市場を侵食すれば、それはGoogleにとって明確な勝利だ。
Flutterの採用事例は増えている。例えば、Alibabaは現在、マーケットプレースのプラットフォームとしてFlutterを採用している。より伝統的な企業の事例としては、「My BMW」アプリケーションを提供するBMWがある。同社はiOSファーストのアプローチを取っていたが、2019年にFlutterを導入して開発を集約し、新しいアプリケーションをiOS向けとAndroid向けに同時にリリースできるようになった。
大企業だけでなく、スタートアップでの採用も進んでいる。例えばAtsignは、アプリケーションのフロントエンドにFlutterを採用している。同社はプライバシー関連のアプリケーションとサービスを手掛けている。
エコシステムに関して、Googleは特にアフリカに注目しているようだと、RedMonkは述べている。アフリカのさまざまな国の開発者やエバンジェリストによるFlutterに関する発言が増えているという。
RedMonkは以上を要約し、FlutterはDartの普及を促進する見通しであり、クロスプラットフォームアプリケーションの構築アプローチとして、React Nativeを追い越す可能性があると指摘している。DartはRedMonkのプログラミング言語ランキングで興味深い順位におり、今後の四半期におけるその成長を注視していくとしている。
Copyright © ITmedia, Inc. All Rights Reserved.