iOSとAndroidのアプリを同時に開発できるクロスプラットフォームには、Flutter、React Native、Xamarin、Cordovaなどがあります。この中でも弊社では2019年4月からGoogleが開発するFlutterを用いたアプリ開発に力を入れています。
いくつもあるクロスプラットフォームフレームワークの中でも、特にFlutterに力を入れている理由を紹介していきます。
フレームワークの比較
まずは、クロスプラットフォームフレームワークの中でも特に有名なフレームワークを3つ比較します。
Flutter | React Native | Xamarin | |
開発会社 | Microsoft | ||
リリース | 2018年12月 | 2015年3月 | 2016年3月 |
言語 | Dart | JavaScript | C# |
GitHub Star数 | 124k(2021年7月現在) | 96.4k(2021年7月現在) | 5.3k(2021年7月現在) |
UI | 独自UI iOSとAndroidで同じUIを実装することができる。 MaterialデザインとCupertinoデザインを使い分けることで、各プラットフォームごとのデザインに寄せることができる。 | ネイティブUI プラットフォーム間で同じUIを実装する場合は、サードパーティのライブラリを使用する必要がある。 | ネイティブUI/独自UI Xamarin iOSとXamarin AndroidはネイティブUIを使用するが、1つのコードを共有できない。 Xamarin Formsは1つのコードでUIを共有できる。 |
採用例 | Google広告 Googleアシスタント BMW eBay Alibaba | Facebook Shopify Skype | COCOA – 新型コロナウイルス接触確認アプリ NHK紅白 Nintendo Switch Online |
クロスプラットフォームの中でFlutterに力を入れている理由
- UIの自由度
- コミュニティの活発さ
- ドキュメントの読みやすさ
- 将来性
1. UIの自由度
FlutterはOSのUIに頼らない独自のUIコンポーネントで開発できるため、iOSとAndroidで同じ見た目、同じアニメーションの実装が可能になる。また、Googleが推奨するマテリアルデザインを使えることでデザインのトレンドに沿ったUIを実装できます。
また、FlutterはiOSのデザインで開発したい場合でもCupertinoWidgetが用意されており、iOSのデザインに見せることも可能です。
例えばReact Nativeは、ブリッジを通してネイティブのUIコンポーネントを使用します。ネイティブコンポーネントを使用するため、プラットフォームごとに最適化が必要になる可能性もあります。プラットフォーム間の見た目を同じにしたい場合はサードパーティのライブラリを使用する必要があるなど、UIの自由度はサードパティのライブラリに依存します。
2. コミュニティの活発さ
Flutterは2018年12月に公式リリースされており、クロスプラットフォームの中では後発ですが、利用者が急増しておりコミュニティも活発なため、フレームワークの改良が頻繁に行われています。
人気な言語JavaScriptを使うReact NativeはFlutterよりも3年ほど早い2015年3月にリリースされており、ライブラリ数も多くコミュニティも成熟しています。
しかし、GitHubのStar数を見てみるとFlutterが124k、React Nativeが96.4kと最近のFlutterの勢いがわかります。(2021年7月現在)
3. ドキュメントの読みやすさ
ドキュメントは開発者にはとても大事になってきます。開発をスムーズに進めるためにドキュメントの充実や読みやすさなどは必要不可欠な要素です。
Google公式のドキュメントはちゃんと整理されており、キャッチアップしやすいものになっています。サンプルコードも充実していることで学習しやすいため、スムーズにアプリ開発を進めることができます。
React Native開発者向けに書かれているドキュメントもあり、新しくFlutterを使用する開発者にとって優しいドキュメントとなっています。
4. 将来性
FlutterはGoogleのアプリが次々とFlutter製アプリに置き換えられていたり、BMWやeBay、Alibabaなど世界的にも有名な企業がFlutterを採用されています。
リリースされてからまだ日が浅いFlutterですが、Flutterを採用する企業が増えていることからFlutterの将来性がわかります。これからもその傾向は増えていくと思っています。
これまで弊社が開発したFlutter製アプリや、世界的に有名な企業のFlutter採用事例について詳しく知りたい方は「Flutter製アプリの開発実績」をご覧ください。
さいごに
弊社ではFlutterの開発経験があるメンバーが複数在籍し、メンバーがキャッチアップや情報共有をしているので、安心感をもって案件を進める事ができております。
本記事がFlutterを導入する際の参考になれば幸いです。