虎視眈々と

Flutter × Firebaseを研究するアプリエンジニア

Android開発においてのFlutterかKotlinかメリット、デメリットについて考えてみた

Android開発においてのFlutterかKotlinかメリット、デメリットについて考えてみた

メリット、デメリットについて考えてみます。 はじめに断っておきますがチーム開発においてベストな選択ってチームメンバーの規模や、技術レベルなどによって変わると思うでどれがいいとかではありません。

メリット、デメリットを知った上で技術選定をすると思いますので、その参考になればと思います。

海外の反応

パッと検索してみたらこの辺の記事や動画がでてきます。

Flutterのメリット、デメリット

メリット

デメリット

  • 歴史が浅い
  • 情報が少ない
  • Flutterだけでは実装できない機能がある
  • バグを踏む可能性がある

Kotlinのメリット、デメリット

メリット

  • 歴史がある
  • Kotlinが洗練されている(null safetyなど)

デメリット

個人的な感覚

自分はAndroid開発経験が2年ありますし、業務でKotlinは使っています。 ですので、それなりに辛いところや、素晴らしいところを経験してきました。

その上でFlutterはViewの作り方はマテリアルデザインの作成に限っては優れているでしょう。 逆にいうと、「マテリアルデザインは簡単だけどカスタマイズが大変」かなと思います。

マテリアルデザインを使わない独特のデザインを作りたいときはAndroid XMLで書いた方が楽だとは思います。

少人数での開発

少人数の開発(1人〜2人)の場合はFlutterをおすすめします。

1〜2人の場合はデザイナーさんがいない場合が多いと思います。その場合、マテリアルデザインに準拠しておけばそれなりのデザインを作ることができるからです。

この場合Firebaseと連携するなどするとよりスピーディーな開発を行なえるでしょう。

中規模〜大規模

これに関しては個人のスキルの習熟度によって選択するのがいいと思います。 Flutterを採用するのもいいと思いますし、Kotlinを採用するのも良いと思います。 はじめはFlutterでやって、スケールしたらKotlinにリプレイスするのも一つの手でしょう。

総括

今後の新規Androidアプリ開発としてFlutterという選択肢は十分あると思います。 メリット、デメリットを知った上でいい選択ができればなと思います。