Окружения разработки
Окружения разработки в FlutterFlow позволяют создавать несколько окружений для ваших приложений, таких как Development
, Staging
и Production
. Для каждого окружения вы можете создавать специфичес кие для него значения и базы данных. Это позволяет легко переключаться между разными backend'ами в зависимости от этапа вашего развития.
По умолчанию каждый проект FlutterFlow начинается с окружения Production
.
- Dev Environment: используется для тестирования и разработки новых функций без воздействия на данные продакшена.
- Staging Environment: используется для симуляции продакшен окружения перед запуском, и изолирован от фактических данных продакшена.
Это распространённая практика, но вы можете создавать пользовательские окружения с другими названиями в соответствии с вашим рабочим процессом.
Создание и переключение окружений разработки
Вы можете создавать и переключаться между окружениями на странице Dev Environments в Настройках приложения. Текущее выбранное окружение всегда видно в левом верхнем углу проекта.
Выбранное окружение используется для генерации соответствующего код а при запуске, тестировании, развертывании или экспорте вашего приложения. Единственное, что меняется между окружениями — это Firebase проект или переменные, привязанные к Значениям окружения
Использование Значений окружения
Значения окружения могут быть использованы для динамического изменения частей кода вашего приложения в зависимости от используемого окружения.
Например, в приложении электронной коммерции вы можете определить apiUrl
значение окружения, указывающее на разные URL API для Development, Staging и Production. Это позволяет вам тестировать новые функции без воздействия на рабочее окружение продакшена, где обрабатываются реальные заказы клиентов.
Давайте рассмотрим пример создания и использования apiUrl
:
После переключения на окружение, FlutterFlow генерирует код, специфичный для этого окружения, для любых из следующих взаимодействий:
- Сессии режима Тестирования / Запуска
- Локальный запуск
- Экспорт кода
- Развертывание
Также возможно увидеть различные ошибки проекта, в зависимости от выбранного окружения.
Настройка Firebase или Supabase для каждого окружения
Один проект FlutterFlow может иметь несколько окружений, каждое из которых сопоставлено с собственным проектом Firebase или Supabase. Это обеспечивает независимость окружений, таких как Development
, Staging
и Production
, что позволяет лучше контролировать данные и поведение вашего приложения на разных этапах разработки.
Вы должны завершить настройку Firebase или Supabase для окружения, прежде чем тестировать ваше приложение с использованием этого окружения. Однако это не помешает вам продолжать выполнять и тестировать ваше приложение в других окружениях. Просто вернитесь к Продакшену, и вы сможете продолжать тестирование, завершая настройку нового окружения.
Настройка Firebase
Если ваш проект использует Firebase, вам нужно создать отдельный проект Firebase в Консоли Firebase для каждого окружения. Затем вы можете изменить выбранное окружение на странице настроек Firebase (см. ниже) и выполнить шаги настройки проекта Firebase вручную для каждого.
Кроме того, вам необходимо вручную настроить Правила Firestore и коллекции для нового окружения.
Данные, которые вы добавляете в Firebase через контент-менеджер, привязаны к проекту Firebase и окружению, которое вы выбрали.
Настройка Supabase
Если ваш проект использует Supabase, вам нужно настроить новый проект Supabase для каждого окружения.
Создайте специфические для окружения значения, такие как SupabaseAPIURL
и SupabaseAnonKey
, а затем настройте свойства Supabase для указания на эти новые значения. Ниже приведен пример, как это может выглядеть.
Рекомендуется поддерживать согласованные схемы между различными окружениями Supabase. Также рекомендуется Синхронизировать схему с окружения Продакшена и строить оттуда.
Часто задаваемые вопросы
Как перенести код из одного окружения в другое?
Важно отметить, что функция Окружения разработки в FlutterFlow преимущественно предназначена для настройки разных backend'ов для тестирования.
Если вы создаете новые функции, рекомендуется использовать Ветвление. Вы можете разрабатывать и тестировать новые функции на новой ветке, выбрав окружение разработки. После тестирования вы можете объединить ветку в main
и переключиться на окружение Production
для запуска.
Используете ли вы Flutter flavors внутри?
Нет, FlutterFlow не использует Flutter flavors. Вместо этого он генерирует код на основе выбранного окружения в FlutterFlow. Код, специфичный для окружения, генерируется и применяется для следующих действий:
- Сессии режима Тестирования / Запуска
- Локальный запуск
- Экспорт кода
- Развертывание