Fulutterとは

Flutter(フラッター)は、Googleが開発したオープンソースのUIのSDK(ソフトウェア開発キット)です。モバイルアプリの開発を支援するライブラリで、2018年にリリースされました。 Flutterは、マルチプラットフォームでのアプリケーション開発を行うフレームワークです。 マルチプラットフォームとはAndroidやiOSなどのモバイル向けのアプリケーションだけでなく、Linux、Mac、Windows向けのデスクトップアプリやWebアプリケーションを一貫して開発できるものです。 しかし、マルチプラットフォームやクロスプラットフォームと呼ばれるフレームワークはFulutterだけではありません。

マルチプラットフォームのフレームワーク

一般的に有名なものや、開発を行う際に選択されやすいものを紹介します。

  • Flutter
  • React Native
  • Xamarin
  • Unity

この中での簡単なフレームワークの選択するべき要素を挙げます。

ゲーム制作を行う場合Unity一択になります。他の選択肢を選ぶ必要がないです。 Windowsで開発している、特にUIに気を遣う必要はない場合Xamarinでいいでしょう。

しかし、ゲーム制作をして3Dを使用しない、基本的にMacOSで開発を行っている場合 これらの選択を行うことは、正しいとはいえません。

FlutterとReact Nativeの比較

FlutterとReact Nativeはどちらを選択してもいいと言える似た性能を持っています。

React NativeはWeb技術をベースに設計されています。 そのため、Webベースでの開発ではReact Nativeは開発しやすいものであり、開発をおこないやすいものでしょう。

しかしアプリケーションを作成する場合は、Flutterを選択しておくと、どのOSやプラットフォームでも統一された見た目で開発を行いやすいと言えます。

Flutter、React Native、Xamarinの比較

以下は、Flutterと他のマルチプラットフォームフレームワーク(React NativeとXamarin)を比較するための機能一覧のマークダウン表です

機能 Flutter React Native Xamarin
プログラミング言語 Dart JavaScript (React) C# (XAML, .NET)
学習曲線 やや急 やや緩やか 緩やか (C#の知識があれば比較的容易)
UI構築 Widgetに基づくUI構築 コンポーネント指向 (JSX) XAMLに基づくUI構築
パフォーマンス 高速なネイティブパフォーマンス ネイティブコンポーネントの使用 ネイティブコンポーネントの使用
ネイティブ機能アクセス プラグインを使用してネイティブ機能にアクセス プラグインを使用してネイティブ機能にアクセス プラグインを使用してネイティブ機能にアクセス
コードの共有率 100%共有可能 一部のコードを共有可能 一部のコードを共有可能
リロード速度 Hot Reloadを提供 Fast Refreshを提供 Xamarin Hot Reloadを提供
コミュニティサポート アクティブなコミュニティ アクティブなコミュニティ アクティブなコミュニティ
ドキュメント 公式ドキュメントが豊富 公式ドキュメントが豊富 公式ドキュメントが豊富
採用状況 増加傾向 横ばい 横ばい
求人件数 増加傾向 横ばい 横ばい
年収 やや高い やや低い やや低い
将来性 有望 やや不透明 安定

どのフレームワークを選ぶべきかは、プロジェクトの要件や開発する人のスキルセットによって異なります。

  • 高速なパフォーマンスと美しいUI表現が求められる場合はFlutterが適しています。

  • すでにJavaScriptやwebの知識がある開発者が多い場合はReact Nativeが適しています。

  • windowsを中心に開発し、C#の知識があり、ネイティブUIを利用したい場合はXamarinが適しています。

Flutterを使用して開発を行おうと思った経緯

今回なぜFlutterを選択するべきで、ブログで紹介をしようと思ったのというと BlueSkyというtwitterによく似たアプリケーションが広く公開され apiを使用して簡単にツイートできるアプリケーションを作成しようと思ったからです。

webアプリケーションを作成して公開するのではなく、デスクトップアプリケーションで簡単にポストできるものを作成するのであれば クロスプラットフォームでよりアプリケーション側に最適化された技術を選択したい為、Flutterを選択しました。

Flutterまとめ:注目度と将来性、そして注意点

近年、特に注目を集めているFlutter。 年収が上がりやすいフレームワークとして話題になり、マルチプラットフォーム技術者の不足も叫ばれています。 求人でもFlutter関連の案件が頻繁に見られるようになりました。

しかし、Google社員でも技術者でもない私たちにとって、このフレームワークの得意不得意を正しく把握することは非常に重要です。 どのようなコミュニティが存在し、どのように開発が行われているのかを知ることも欠かせません。

例えば、Flutterのブログ記事を書いた経験から、中国での利用が多いことが分かりました。セキュリティやプラグインを扱う際、言語の壁が立ちはだかることもあるでしょう。

実際に求人が増加しているという調査結果は、非常に有益な情報でした。今回詳細な調査を行ったことで、今後の開発にも役立ちそうです。

そして、私の記事が皆さんのFlutter選択における不安を少しでも払拭できれば幸いです。

最後まで読んでいただきありがとうございました。

参考資料