見出し画像

【アプリ開発日記41週目】FlutterFlow、卒業 ー 1アプリ制作を終えて

 この日記でも度々触れてきた、お薬通知アプリ。まだつけたい機能もたくさんありますが、予約や通知といった最低限の機能が整ったため、現在リリースに向けて準備を進めています。

 ちなみに、私は本番環境でテストする際は、AndroidなのでGoogle Play Consoleのクローズドテストを使いました。

 なんだかんだ言って初めてのFlutter開発アプリであり、またFlutterのノーコード・FlutterFlowも試したアプリ制作。結果的にはFlutter一本に絞っていきそうですが、今回はその経緯を振り返ってみます!

いずれにせよ、デザインの比較はデザインソフトを使ったほうが結果的に速そうです

デメリット1:直接コードを書く方がむしろ速い

 理由は3つあります。1つ目は、シミュレーションに時間がかかること。テストモードで簡単な改変を即確認することはできますが、UIやカスタム関数などを作成してエミュレーターで見るために、関数のコンパイルに1分ほど、エミュレーターの起動に3分ほど待つ必要があります。

 つまり、リアルタイムで変化を反映させてくれるVS Codeの方が止まることなく作業できるため、ストレスも少なかったんです。

 もちろん、私も初めてFlutterを使い始めた時は止まったばかり、エラーばかりで大変でした。幸いウェブアプリなどは作ってきたため、比較的早く最低限の流れは習得できましたが、コーディング自体はじめて、という方にとっては相当時間がかかってしまうかもしれません。

 そのため「コーディングはしたくない!」「Flutterやってみたけど全然使いにくい!」という方はFlutterFlow向きなのかもしれません。ある程度Flutterに慣れてくると、以下の理由も相まって、私の場合たとえすべて無料で使えるとしてもFlutterに軍配が上がっています。

デメリット2:プラグインはコーディング知識が必須

 アプリ開発にあたっては、すべての機能を0から自分で作る、というのは技術的にも手間的にも難しい話です。そこで登場するのが、プラグイン。他の人が作成したコードを使うことができます。

 私がよく使う機能としては、プッシュ通知やメール送信、今後触れたいものとしてヘルスケアなどもあります。

 しかし、FlutterFlowも一つ一つのプラグインまでノーコード化できているわけではありません。内容も日々更新されますし、そもそも数も種類も多岐にわたるからです。

 FlutterFlowでは実機テストできないため、ヘルスケアの許可やメール送信などを試せないのも少し不自由を感じました。

 結果的に、先輩方の知恵にあやかれるプラグインを使うためには、手動でインストールしてコーディングしていく必要があります。

デメリット3:printが不便

 3つ目は、printが不便な点です。VS Codeなどでは「debugPrint」などで関数の途中の計算結果を確認し、細かに修正できます。
 一方、FlutterFlowではそもそもprintを表示できず、仮に画面上にテストの数値を表示させるにしても、試すたびに先述の通り4分ほどかかってしまうため効率はむしろ落ちてしまうと感じました。

直感的に作れるけど、どうしても書きにくい、、、

 UI設計などで変なバグが起きることはめったにありませんし、そもそもprintをしなくても思った通りに形にしやすいため、FlutterFlowは比較的printの必要性が低い、それはコード直書きではとても真似できないメリットです。

 作成するアプリがどれだけ複雑か、また計算などを使うのか。

 中には画像や文章の保存、表示機能+αで完成できるアプリもたくさんあります。私は今回経験値やプッシュ通知におけるバグの位置の特定などでprintにたくさん頼ってきましたが、アプリによってはこのデメリットはあまり問題にならないかもしれません。

こういう場合におすすめ!

 もちろん、FlutterFlowならではの強力な機能もたくさんあります。特に印象的なのは、UI設計と基本処理の手軽さです。

 FlutterFlowに触れたばかり頃の日記も貼っておきます。

 まさにここにあるとおりですが、真っ白なページでも直感的にウィジェットを配置できるので、トライアンドエラーの効率もケタ違いといっても過言ではないです。もともとウィジェットを前提としたFlutterとノーコードの相性は抜群

 実際、作成に数日かかったフォーム作成を、FlutterFlowでは30分ほどで完成させてしまいました。もちろん、データを保存する機能まで。

 Flutterでも一度作成してしまえば、そのマイテンプレをこれから使い回せるので手間はぐっと減りますが、それでもこの手間の違いは歴然とあります。

 データベースへの保存も然り、ログインなどに加え電話番号にSMSを送ってくれたり、パスワードを忘れたときにメールを送信したり、モーダルを表示したりと、一から実装すると大変そうな処理をワンクリックで実装できてしまう。

 この凄まじさは、Flutterに戻ってきた今でもつい「欲しい!」と思ってしまうほど便利でした。

おわりに

 以上、アプリ制作を一区切り経て、実際に感じたことを書いてきました。ウェブアプリのときもそうですが、バックエンド処理(データの処理や計算など)が多い場合はやはりノーコードだと手が届かない部分が多々あると感じます。

 一方、画像などをメインに扱うアプリや、ランディングページなどのウェブサイトはノーコードとの相性が良いのかもしれません。

Flutterでの開発画面。慣れるまで一苦労だけど、リアルタイムデバックが特に便利

 現在はFlutterを使いながら、UIの配置やテンプレートで「かっこいい!」と思ったFlutterFlowのコードをのぞいて(無料プランでも可能です)、適当に修正しながらVS Codeするという形でFlutterFlowも継続しています。

 一度FlutterFlowで全部UIを作成してまるごとコピペして楽してやろう、と試してみましたが、思った以上に複雑でうまく動かなかったのは秘密です笑

 新しいアプリに進むか、機能を追加していくか、ウェブアプリに力を入れるかは未定ですが、次回以降も進捗を記していきます!

 ではでは!

この記事が気に入ったらサポートをしてみませんか?