現代の超重要パーツであるスマートフォン。
スマートフォンが無い生活は想像できないと思います。
スマートフォンは、あらゆるものに対応するスマホアプリがあり、そのスマホアプリのおかげで私たちの生活はより良くしています。
近況では、コロナ禍になってからスマホアプリのダウンロードはApp Annieの調査によると約23%急増し、スマホアプリのダウンロード数は2017年から45%増加しているそうです。
また、スマホアプリの使用は現在すべてのデジタルメディア時間の70%を占めており、他のすべての形式のメディア消費をはるかに上回っています。
そんな私たちの日常生活におけるスマホアプリの重要性の高まりは、Flutterなどのソフトウェアソリューションを生み出し、アプリ開発ビジネスをより良い方向に変えているのも現実です。
前置きが長くなりましたが、Flutterは最も人気があり成功しているクロスプラットフォームアプリ開発ツールの1つです。
そのFlutterとクロスプラットフォームアプリ開発にご紹介いたします。
目次 [非表示にする]
Flutterとは?
Flutterは、Flutter SDKとも呼ばれ、GoogleのオープンソースUIソフトウェア開発キットです。
これにより、iOS、Android、Windows、Mac OS X、Linux、およびWeb用のアプリを単一のコードで開発することができるのです。
そのFlutterは既存のコードを使用して、魅力的で応答性が高く、ネイティブに構築されたアプリを開発できるという点で、WEBエンジニアからの支持が高く人気が高まっている要因です。
クロスプラットフォームアプリ開発で続々とFlutterを採用している。
まず、Flutterのメリットをご紹介いたします。
それとは別に、企業がアプリを構築するために続々とFlutterを使用する必要がある主な理由は次のとおりです。
- 開発時間が短縮されリリースまでの時間を短縮できる
- オープンソースで無料で利用できる
- UIとビジネスロジックは、すべてのプラットフォームで一貫してる
- レンダリングエンジンを作成できる
- Google Firebaseを使用すると、サーバーレスアプリを作成できる
- カスタムのアニメーション化されたUIを利用できる
- 単純なプラットフォーム固有のロジックの実装
上記のメリットに見られるように、ソフトウェア開発会社にとってアプリ開発プロセス全体をより簡単かつ迅速にできる可能性があることは明らかです。
Flutterアプリの例
アリババ(eコマース)
ダウンロード数が5,000万を超えるグループで2番目に大きなオンラインショッピングプラットフォームはFlutterが採用され、世界規模のeコマース企業からFlutterが信頼されるようになりました。
グルーポン(マーケットプレイス)
トップディスカウントマーケットプレイスは、支払いデータを視覚化し、キャンペーン管理を簡素化し、クーポンの引き換えを強化することで、商人向けのインターフェースを更新したいと考えていました。そのGrouponは、これらの機能に対応するためにアプリをゼロから書き直すのではなく、Flutterウィジェットをネイティブコードに含めて開発を行ったそうです。
じゃらん
国内宿泊サイトで有名な「じゃらん」は宿やホテルの予約以外にもアクティビティや、レンタカー予約など幅広いサービスを提供しており、そのじゃらんのアプリはFlutterで開発されたそうです。
WINTICKET
「WINTICKET」は、株式会社サイバーエージェントの子会社で、競輪・オートレースのインターネット投票サービスを提供しており、そのWEBアプリがFlutterで開発されているようです。
Flutterの需要
クロスプラットフォームアプリ開発ではFlutterかReact Nativeが2強と言われており、スマホアプリ開発を検討している企業や新しいプログラムを勉強していこうと考えている方には必ずと言ってもいいほど、『FlutterとReact Nativeどちらを選ぶべき?』という課題に直面します。
参考程度になりますが、Googleトレンドとqiitaで調べてみました。
Googleトレンドで比較
2020年9月~2021年10月(直近1年)
(青:Flutter 赤:React Native)
直近1年では圧倒的な差が出ております。
~2021年10月(過去5年)
(青:Flutter 赤:React Native)
過去5年間でいうと、初めはReact Nativeが需要があったが、Flutterに逆転されています。
qiitaで比較
シンプルに「Flutter」と「React Native」で検索してみた。
Flutter:4352件
React Native:3036件
以上だけでFlutterが需要があると証明にはならないし、判断するのは早計ですが、個人的にはFlutterというキーワードがよく聞かれるようになったし、案件も多くなってきている印象。周りのエンジニアもFlutter推しが多いですね。
Flutterのデメリットや注意点
Flutter推しなのはわかったけど、デメリットはないのか?
クロスプラットフォームのアプリ開発にFlutterを使用する点で、大きな欠点はありませんが、比較的新しいがゆえに考慮すべきことはあります。
比較的新しいフレームワーク
クロスプラットフォームの開発者コミュニティの間で勢いを増していますが、Flutterはまだ新しいフレームワークです。これは、学習リソースが限られており、プラグインなどが比較的少ないことを意味します。
しかしながらqiitaではすでにReact Nativeよりも多くの記事が投稿されております。
Dartエンジニアが少ない
Flutterアプリの構築に使用されるプログラミング言語はDartです。
比較的新しい言語であることと、Flutterが出るまではマイナーな言語で衰退する言語として人気なかったので、Dartのエンジニアは少数です。
Flutterの人気とアプリ開発が急激に増していることから、求職市場でDartエンジニアはほとんど出回ってませんし、クロスプラットフォームのアプリ開発会社も多くはありません。
デバイス関連で問題を起こす可能性あり
クロスプラットフォーム開発はまだまだこれからのところがあり、パフォーマンスやデバイス関連のアプリの問題を引き起こす可能性はあります。発展途上であるため注意は必要です。
ゲームアプリには向いていない
ゲームや重いアニメーションを含むアプリには最適ではありません
ゲームの開発であるため、Unity3DまたはUnrealを選択することをお勧めします。
強いてあげるならというデメリットでしたが、メリット比べるとメリットの方が圧倒的に強いですね。
まとめ
簡単に結論から言うと、iOS、AndroidのスマホアプリをFlutterの単一コードで開発できるよってことです。
それが、「クロスプラットフォームアプリ開発」というものです。
クロスプラットフォームアプリ開発には、FlutterとReact Nativeがフレームワークとして有名で、どちらのフレームワークもスマホアプリの開発に最適ですが、Flutterは、見栄えの良いスマホアプリケーションを開発し、ユーザーエクスペリエンスを向上させ、より高速に実行できるようにする多くの機能を提供できます。
次はFlutterとReact Nativeを詳しく比較してみたいと思います。
当記事を最後までお読みいただきありがとうございました。