🕌

FlutterFlowの実行環境切り替えについて

2023/08/20に公開

はじめに

こんにちは。
GenAiというスタートアップをやっております、菅原です。

FlutterFlowは非常に強力なツールです。初期のUI構築や、基本的なCRUDを持つアプリを作るには非常に早く、特にプロトタイピング用途で非常に優秀ですが、本番でもかなり現実的に運用できます。
ただ、少し気をつけないと、リリース後は環境を分けていないと開発がままなりません。
今回は、そんなFlutterFlowでの開発・テスト・ステージングなどの環境運用について書いてみます。

環境の切り替え機能はあるか?

結論から言うと、FlutterFlow自体に、開発環境〜本番環境といった環境を切り替える機能は今現在(8/19時点)ありません。

ソースコードの環境管理

ソースコードに関しては、常にFlutterFlow上のソースは開発環境となります。したがって、連携したGithub上で各種環境用のブランチを切っていくのが良いでしょう。切り方は普通の開発と大きく変わりません。私の会社で参考にしているのは以下の「A successful Git branching model」となります。
翻訳記事:https://qiita.com/homhom44/items/9f13c646fa2619ae63d0

ただ、1点異なるのは、flutterflowブランチの運用です。FlutterFlowからソースをGithubへアップロードすると「flutterflow」ブランチに最新ソースが上がります。flutterflowブランチは万一Conflictしていると、エラーとなり、FlutterFlowからGithubへアップロードすることができなくなります。Flutterに手を加える場合は、このブランチはそのまま残しておき、Checkout先のブランチで開発した方が無難です。

Firebase系の環境管理

Firebaseに関しては、環境に応じてプロジェクトを作成したほうが良いでしょう。
私の会社で開発している「Rolmo」という有給OBOG訪問アプリでも、dev環境、stg環境、prd環境は分けています。環境の作成は通常の手順なので今回は割愛します。

FlutterFlow上で環境を切り替える際は、以下の手順となります。

  1. 設定アイコン > firebase > Removeを選択

  2. 変更先の環境のFirebase Project IDを入力

  3. Regenerate Config Filesを押して、設定ファイルを再生成する

  4. Firestoreアイコン > 設定アイコン > 各種デプロイ
    Firestore Indexes、Delete User References(Functions)、Firestore Rulesを再デプロイします。

上記を実施することで、Firestoreのむき先が変わります。DBの切り替えは必須となりますので、きちんと対応していきましょう。

裏でCloud Functionsが動いている系のサービスを使っている場合、以下の対応も必要となります。
例:Stripe等の決済系、プッシュ通知など

  1. 利用しているサービスの設定を一度オフにし、再度オンにして設定を記載した上で再デプロイする
    これ、デプロイボタン押すだけだと反映されません。差分がないと多分サーバ側に情報送らない制御が入っているっぽいです。めんどいですが、Cloud Functions側をみながら、関数が上がってくるまでやってみましょう。

終わりに

上記、FlutterFlowの環境切り替えについて書いてみました。
環境の切り替え機能くらいは欲しいなと思いますが、今後のアップデートに期待したいところですね!

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

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

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

では!

https://zenn.dev/sugawara/articles/02e2f119a363fb

Discussion