Flutterとは
Googleが開発したクロスプラットフォームのアプリケーションフレームワークです。
ソースコードは、オープンソースとして管理されています。
Flutterで採用されているDart言語を使用して、1つのソースコードでAndroid、iOS、Windows、Web、Linux向けなどのアプリケーションを開発できます。
Flutterの特徴
Flutterのメリットについてです。
- UIやビジネスロジックのコードを共通化することができるため、開発コストの削減、品質を安定させることができる
- OSSのパッケージが豊富に用意されており利用することで、UIの実装だけでなくHW制御やデータベースなどを利用したデータ管理などの制御も共通化できる
- 複数OSに対するアプリケーションを同時に開発する場合、それぞれのNativeエンジニアをアサインしなくて良いため、開発リソースの解消につながるなど
Flutterのデメリットと、それに対する向き合い方についてです。
- FlutterはUIのデザインが共通化されるため、UIデザインを各OS固有のものにしたい場合は、開発コストが増加する
- この場合は、Flutterを使うべきではないかもしれません
- 各OSのプラットフォームAPIを直接制御しないと機能を実現できない場合がある
- この場合は、Flutterを使用した場合でも、Dartから各OSのNative言語に繋ぎ込みを行うことができるため、実現することが可能なことが多いでしょう
- 複雑なアニメーションが多くあるUIでは、性能が落ちる場合がある
- これは、作り方次第で性能を維持することもできるため、エンジニアの設計力の見せ所かもしれません
最後に
Flutterに限らずクロスプラットフォームは、利用することで開発効率を向上させることができます。
しかし、利用シーンや利用方法を間違うことで要求を実現できなかったり、
品質・性能面が低下したりする場合も考えられます。
クロスプラットフォームを採用すべきか、しっかりと考えて導入しましょう。