はじめてFlutterでアプリをリリースした感想
以前、iOSのアプリをリリースしました。今回はFlutterでiOS向けアプリを開発、リリースをしたのでその感想です。
※iOSアプリを作った経験に基づき、あくまで個人的な感想です。

Flutterとは
Flutter allows you to build beautiful native apps on iOS and Android from a single codebase.
https://flutter.dev
Flutterは単一のコードをiOSとAndroidのアプリを開発できるフレームワークです。Flutterの開発元はGoogleで、Dartという言語でコーディングします。
なぜFlutter?
モバイルのクロスプラットフォームもフレームワークとしてはReactNativeなどもありますが、Googleが開発中の新OSであるFuchsiaのアプリはFlutterでという噂もあり、興味が湧いたのでFlutterでの開発を行いました。
Flutterでよいと思うこと
-
すべてをコードで管理する
Flutterでは画面の構成も含めてすべてコードで記述します。
そのためiOSのようにストーリボードでデザインするか、
コードで書くかを迷うことはないです。
また、FlutterStudioというツールが公開されており、
GUIで画面をデザインできるツールがあります。
今回はFlutterStudioで大まかにデザインして、
そこからカスタマイズしていきました。 -
ホットリロード
コードの変更を再ビルドすることなくシミュレータに反映することができます。全ての変更がホットリロード可能ではないですが、変更をすぐに確認できる点はメリットです。 -
パッケージが豊富
すでにいろいろな機能がパッケージとして公開されています。
pubspec.yamlというyamlファイルにパッケージを指定し、更新することで利用できます。iOSのCocoaPodsに似ていますが、Flutterでは標準でパッケージ管理の機能があります。
Flutterで困ったこと
- ネイティブ側コードの制限
パッケージがなく、ネイティブの機能を利用したい場合は、ネイティブのコードを書く必要があります。ネイティブのコードを書く場合は、
MethodChannelという仕組みを使ってNative側の機能を呼び出します。Native側に渡すデータの型の制限などもあり、試行錯誤が必要な場合があります。
まとめ
Nativeでの実装を減らしていくことで、
Flutterの良さが出せると感じです。