👏

【ローコード】FlutterFlowの弱点とは?本格的に案件に導入する上での課題4選

2023/09/08に公開

2024/3/29 改訂

はじめに

GenAiの菅原です。
スクラッチ開発の現場をそれなりに経験してきた筆者が、FlutterFlowを使い込んでみて思う、現場に導入するにあたり課題となりうる点を挙げていく記事です。開発現場を経験した読者の皆様が気になる、「FlutterFlowって本格的な開発に向かないんじゃないの?」といった疑問に答える記事になれば幸いです。

Widgetの対応有無といった話ではなく、開発環境的な話を中心に書こうと思います。

FlutterFlowとはなんぞや?という概説記事はこちらにありますので、ご覧ください。
https://zenn.dev/sugawara/articles/02e2f119a363fb

課題

1. 環境変数の管理

環境変数に隠しておきたい情報を管理する仕組みはありません。
困るユースケースとしては以下のような点がありました。

  • APIの接続先などの管理
  • Firebaseの接続先管理
  • キー情報の管理

◆対応策
ただし、Stripeなどの公式サポートしている連携サービスのシークレットキーは隠蔽してcloud functions側に置いておいてくれたり、API連携にしてもFlutter側から直接APIアクセスするのではなく、アクセス用情報をCloud Functionsに置いた上で利用する「プライベートモード」があったりします。

2. 環境の切り替え

https://zenn.dev/sugawara/articles/f5aa0c4e7b6459
こちらにも書いた通り、環境の切り替えができません。
現状は少し工夫する必要があるので、うまく環境を切り替えられる機能が欲しいところですね。
FirebaseのIndexのデプロイなどは漏れがちなので、その辺りをうまくやれるといいなと思います。

◆対応策
Firebaseで複数の環境を用意した上で、FlutterFlow側からの接続先Firebaseアカウントの切り替えを行うこと、Indexやセキュリティルールなどの設定を同期することに気をつければ問題ありません。

3. Flutter→FlutterFlowのインポート機能

現状、Flutterのコードをいじった場合、FlutterFlowにそれを反映する術はありません。不可逆です。
そのため、Flutterのコードを変え始めたタイミングからは、デバッグは主にローカルの環境にGithub経由でソースをマージして行うことになります。また、ソースに対し大きく構造を変えるような修正を加えてしまうと、Gitでのマージは事実上不可能(超面倒)になります。
FlutterFlowを現場で使うにあたり、FlutterFlowで実施するスコープと、Flutterで実施するスコープ、ネイティブコードのスコープをきちんと見極めることが重要になりますね。

◆対応策
FlutterFlowを現場で使うにあたり、FlutterFlowで実施するスコープと、Flutterで実施するスコープ、ネイティブコードのスコープをきちんと見極めることが重要になりますね。

4. 中規模〜大規模開発

FlutterFlowではTeamsプランがあり、少人数のチーム開発では使えるようになってきています。ブランチの機能もあり、別々の開発者が同時並行で作業をすることも、マージをする際に差分を比較することも可能です。
ただ、通常の開発と異なり、レビューを回すにはやや機能不足感が否めません。

◆対応策
ある程度プロジェクト規模が大きくなった場合は、スクラッチ開発に切り替えた方が無難かと思います。

おまけ あったらいいなと思う機能

ここからはただの個人的な意見や、感想です。

Stripeでのサブスク課金機能

StripeのAPI自体は対応しているのですが、FlutterFlowからの公式連携では都度課金のみの対応となっています。サブスク機能が欲しいところですね。

HTML ViewにCSSを当てる機能

HTMLをレンダリングしてくれるWidgetがあります。それは使い勝手良いのですが、CSSを当てられません。デフォルトのレイアウトがあんまり綺麗じゃないので、CSSを当てたいですね。

まとめ

FlutterFlowは非常に早いスピードで機能改善がされています。この記事を最初に書いてから、改訂するまでに多くの点が解消されていました。
リリース当初はもっとあらゆることに困っていたのですが、実用には耐えうるものになってきていると思います。スタートアップの少ない人数でのUI開発では大きな武器になってくれるのと、今後の改善には大いに期待できるのでこれからも愛用していこうかなと思います。

開発会社をお探しの方、日本語でのFlutterFlowの技術サポート/設計/開発請負について

上記、興味あればFlutterFlowを使ったアプリ開発の技術サポートや、設計・開発の請負も弊社では行っているので興味あればお声がけください!
開発会社をお探しであれば、通常の要件定義から設計・実装また保守まで対応可能です。ローコードならではの迅速な開発や、費用感を抑えた開発をご希望の方はぜひご連絡ください。

サービスページ: https://studio.genai.co.jp/
弊社お問い合わせ先→ info@genai.co.jp

では!

Discussion