Перейти к основному содержимому

Окружения разработки

Окружения разработки в FlutterFlow позволяют создавать несколько окружений для ваших приложений, таких как Development, Staging и Production. Для каждого окружения вы можете создавать специфические для него значения и базы данных. Это позволяет легко переключаться между разными backend'ами в зависимости от этапа вашего развития.

примечание

По умолчанию каждый проект FlutterFlow начинается с окружения Production.

Когда использовать окружения Dev и Staging
  • Dev Environment: используется для тестирования и разработки новых функций без воздействия на данные продакшена.
  • Staging Environment: используется для симуляции продакшен окружения перед запуском, и изолирован от фактических данных продакшена.

Это распространённая практика, но вы можете создавать пользовательские окружения с другими названиями в соответствии с вашим рабочим процессом.

Создание и переключение окружений разработки

Вы можете создавать и переключаться между окружениями на странице Dev Environments в Настройках приложения. Текущее выбранное окружение всегда видно в левом верхнем углу проекта.

Выбранное окружение используется для генерации соответствующего кода при запуске, тестировании, развертывании или экспорте вашего приложения. Единственное, что меняется между окружениями — это Firebase проект или переменные, привязанные к Значениям окружения

Использование Значений окружения

Значения окружения могут быть использованы для динамического изменения частей кода вашего приложения в зависимости от используемого окружения.

Например, в приложении электронной коммерции вы можете определить apiUrl значение окружения, указывающее на разные URL API для Development, Staging и Production. Это позволяет вам тестировать новые функции без воздействия на рабочее окружение продакшена, где обрабатываются реальные заказы клиентов.

Давайте рассмотрим пример создания и использования apiUrl:

к сведению

После переключения на окружение, FlutterFlow генерирует код, специфичный для этого окружения, для любых из следующих взаимодействий:

  • Сессии режима Тестирования / Запуска
  • Локальный запуск
  • Экспорт кода
  • Развертывание

Также возможно увидеть различные ошибки проекта, в зависимости от выбранного окружения.

Настройка Firebase или Supabase для каждого окружения

Один проект FlutterFlow может иметь несколько окружений, каждое из которых сопоставлено с собственным проектом Firebase или Supabase. Это обеспечивает независимость окружений, таких как Development, Staging и Production, что позволяет лучше контролировать данные и поведение вашего приложения на разных этапах разработки.

flutterflow-environment

Вы должны завершить настройку Firebase или Supabase для окружения, прежде чем тестировать ваше приложение с использованием этого окружения. Однако это не помешает вам продолжать выполнять и тестировать ваше приложение в других окружениях. Просто вернитесь к Продакшену, и вы сможете продолжать тестирование, завершая настройку нового окружения.

Настройка Firebase

Если ваш проект использует Firebase, вам нужно создать отдельный проект Firebase в Консоли Firebase для каждого окружения. Затем вы можете изменить выбранное окружение на странице настроек Firebase (см. ниже) и выполнить шаги настройки проекта Firebase вручную для каждого.

firebase-dev-env-config.png

Кроме того, вам необходимо вручную настроить Правила Firestore и коллекции для нового окружения.

к сведению

Данные, которые вы добавляете в Firebase через контент-менеджер, привязаны к проекту Firebase и окружению, которое вы выбрали.

Настройка Supabase

Если ваш проект использует Supabase, вам нужно настроить новый проект Supabase для каждого окружения.

Создайте специфические для окружения значения, такие как SupabaseAPIURL и SupabaseAnonKey, а затем настройте свойства Supabase для указания на эти новые значения. Ниже приведен пример, как это может выглядеть.

примечание

Рекомендуется поддерживать согласованные схемы между различными окружениями Supabase. Также рекомендуется Синхронизировать схему с окружения Продакшена и строить оттуда.

Часто задаваемые вопросы

Как перенести код из одного окружения в другое?

Важно отметить, что функция Окружения разработки в FlutterFlow преимущественно предназначена для настройки разных backend'ов для тестирования.

Если вы создаете новые функции, рекомендуется использовать Ветвление. Вы можете разрабатывать и тестировать новые функции на новой ветке, выбрав окружение разработки. После тестирования вы можете объединить ветку в main и переключиться на окружение Production для запуска.

Используете ли вы Flutter flavors внутри?

Нет, FlutterFlow не использует Flutter flavors. Вместо этого он генерирует код на основе выбранного окружения в FlutterFlow. Код, специфичный для окружения, генерируется и применяется для следующих действий:

  • Сессии режима Тестирования / Запуска
  • Локальный запуск
  • Экспорт кода
  • Развертывание