tail -f suzuki.log

サーバエンジニアの知見と雑記

Flutter開発で個人アプリ開発が捗るか

去年の8月からFlutterでアプリ開発をはじめ、1月にAndroid版をリリースできたのだが、iOSでリジェクト食らって難航している。

この経験からこれから個人アプリ開発するならFlutterスタートでよいがAndroidのみリリースするのがよいと思う。

Flutterの完成度は高い

まずFlutter自体の出来はよい。

サーバエンジニアである自分もUIをコードで書けるためUdemyの講座を軽く1週した程度でそれっぽいアプリが作れた。 ウェジェットと呼ばれるUIコンポーネントの出来がよいので見栄えも悪くない。

また同僚のAndroidエンジニアも「(kotlinネイティブより)わかりやすい」と言っていたので需要面を考えない個人開発であればFlutterから初めても差し支えないと思う。

Flutter x iOSの相性

Android側はGoogleがFlutterを見限ることはないだろうし、Fuchsiaが出るまでは当面メインOSとしてサポートされ続けるはず。

問題はiOSで、Flutterの開発チームもAppleと連携はしているとは思うが「Flutter最高!swiftなんて不要」となるところまで協力してくれるかと言えばそれはありえないと思う。

実際iOSデプロイも基本スムーズではあるのだが、バージョン関係のエラーが発生すると何が原因か理解するのは相当に困難だ。ググって同じ事象に当たればラッキーで、うまく行かなければ謎のエラーに何日も溶かすことになる。

両OS出すよりも大事なこと

加えてFlutterで作ったとしても、実際の申請は当たり前だが各OSごとの対応となり、この学習コストが高い。 本業でネイティブアプリを開発しているならともかく、一発目の申請は思った以上に理解に時間がかかる。

両OS出したところで1OSでの収益が1万未満であるならば、両OS対応して利益を倍にするよりも月数万利益が出るまで1OSでアプリを改善したほうがずっと健全であると思う。

両OSリリースできたというはあくまでFlutterのおかげであって、1OSのアプリが数万ダウンロードされたとなればそれはあなたの功績になる。

まとめ

両プラットフォーム対応する特別なの事情がない限り、FlutterでAndroidのみリリースするが個人アプリ開発としてはベストな選択だと思う。 学習コストが少なく、画面UIも宣言的に書けるしやりたいことはほぼ標準ウィジェットで揃っている。

iOSへリリースするのは売上が10万超えてからでよく、ビルド〜申請のみを外注すればいい。

今回は少し先にグローバル展開したいという目論見があり、そのため両プラットフォーム対応しておいた方がよいと判断したがかなりキツかった。