JMAS(JMA SYSTEMS Corporation) JMAS(JMA SYSTEMS Corporation)
2023年03月22日

Flutterの現状とミライについて考察

皆さん、こんにちは。
ジェーエムエーシステムズ(以下、JMAS)で、モバイル向けシステム開発を担当している山田です。

弊社では、Flutterを活用した独自のフレームワーク「J-flut」でモバイルアプリを開発し提供しています。J-flutは、「iOSもAndroidもぜんぶまとめてワンソースで。高品質なアプリ開発をよりスピーディーで低コストに。」をキャッチコピーとして、Flutterの良さを100%引き出し、これらのメリットを実現しています。

FlutterやReact Nativeは、近年注目されるモバイルアプリケーションフレームワークで、「これまでの常識を変えるマルチプラットフォーム」とも言われています。
ただ、Flutterはまだまだ発展途中のため、聞いたことはあるけど、よく知らないという方もいらっしゃるのではないでしょうか?

そこで今回のコラムでは、Flutterの特徴、React Nativeと比べた現状、そしてFlutterのミライについて紹介していきたいと思います。

Googleが開発したアプリケーションフレームワーク「Flutter」

Flutterは、 2018年にGoogle社によって開発されたマルチプラットフォーム開発向けのフレームワークです。Flutterを使うことで、複数のOSに対応したアプリケーションを効率よく開発できるようになります。
高速でオブジェクト指向のプログラミング言語であるDartに基づいており、高パフォーマンスとUIデザイン面、高生産性で開発者の人気を集めている技術です。

■Flutterのメリット

  • iOSもAndroidもワンソースで
  • ワンソースで複数のプラットフォームに対応するため、OSやデバイス環境に縛られことなく、自由な運用が可能です。

  • アプリ開発がより高速に
  • ホットリロードとカスタマイズ可能な豊富なウィジェットにより、迅速にアプリ開発を行うことが可能です。

  • ネイティブパフォーマンス
  • Swift / Kotlinで開発されたアプリと比べても遜色のないパフォーマンスで動作します。

Flutterのメリットを紹介してきましたが、以下の点を考慮しなければなりません。

■考慮すべき点

  1. ネイティブ言語のように自由なプログラミングができないため、UI(ユーザインタフェース)に関する調整が難しい
  2. イベントフックがネイティブ言語とFlutterで異なるため、一般的なモバイルアプリ技術者にとっては使いにくい
  3. Flutterの知見を持つ技術者があまり市場におらず、大規模な開発を実施する際の要員調達に難がある

ただし、上記1. については、UIに関する調整が難しい反面、要件に合致すれば長所にもなります。マテリアルデザイン準拠で要件を満たす場合は、Flutterの機能で提供されるテーマをそのまま利用できるので、コスト削減も可能になります。

React Nativeとの比較から考察、Flutterの現状は?

ここで、Meta(旧Facebook)社が提供する、React Nativeと比較してみましょう。

■Googleトレンド:「Flutter」vs「React Native」
2020年7月には、検索ワードとして、Flutterの人気度が上昇してReact Nativeを抜いていることが分かります。

引用:「Googleトレンド」https://trends.google.co.jp/trends/explore?date=2015-01-01%202022-11-16&q=Flutter,React%20Native

■開発者規模:「Flutter」vs「React Native」
続いて、開発者の規模です。
Flutterは増加傾向で2021年には第一位、ReactNativeは2021年には減少傾向にあります。

引用:「Statista」https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/

■開発実績:「Flutter」vs「React Native」
開発実績はどうでしょうか。
公表されている開発実績数は、React Nativeが多いようです。しかし、TOYOTA社が2021年にFlutterの採用を公表したことで、日本の大企業にも選ばれる技術として注目され始めました。

Flutterhttps://flutter.dev/showcase
TOYOTA、Google Pay、Alibaba Group、ByteDance
React Nativehttps://reactnative.dev/showcase
Meta:Facebook、Facebook Ads Manager、Oculus
Microsoft:Office、Outlook、Teams、Xbox Game Pass、Skype
メルカリ、Pinterest、PlayStation App、WordPress – Website Builder
Discord

■プログラミング言語人気(Dart)
Dartは、Flutter開発をする際に使用するプログラミング言語です。比較的に新興言語の分類に入るDartも近年人気順位が上がってきています。前年度はランク外だったにもかかわらず、2022年にはTop20以内にランクインしました。徐々にランキングを上げてきていることから将来性も十分にあることが分かります。

引用:ITmedia「プログラミング言語の人気ランキング、順位変動は縮小傾向にある――RedMonkが調査」より

まだまだ発展途中の言語ではありますが、Googleが提供しているプラットフォームということもあり、今後さらなる飛躍を遂げる言語になるのではないかと予想しています。

Flutterのミライ

ここまでFlutterの特徴とReact Nativeと比べた現状について説明してきました。
この記事をご覧になった方で、まだFlutterやDartについてあまり知らないという方は時間があるときに少し調べてみると良いかと思います。
近い将来、みなさんにも実務で使用する機会が訪れるのではないでしょうか。

弊社ではFlutterを活用した独自のフレームワーク「J-flut」で開発を行い、高品質なモバイルアプリをよりスピーディーで低コストに開発し提供しています。


「J-flut」紹介コラム:
「Flutterを活用したモバイルアプリ開発の注意点とは」

モバイル開発のご相談などございましたら、お気軽にお問い合わせください。

J-flut