Среда разработки
Среда разработки в FlutterFlow позволяет настраивать несколько сред для ваших приложений, таких как Development, Staging и Production. Для каждой среды вы можете создавать специфичные для неё значения и базы данных. Это позволяет легко переключаться на разные бэкенды в зависимости от этапа жизненного цикла разработки.
По умолчанию каждый проект FlutterFlow начинается со среды Production.
- Среда разработки: Используйте для тестирования и разработки новых функций без влияния на производственные данные.
- Среда staging: Используйте для имитации производственной среды перед запуском; она изолирована от реальных производственных данных.
Это распространённая лучшая практика, но вы можете создавать пользовательские среды с другими именами для своего рабочего процесса.
Создание и переключение сред разработки
Вы можете создавать и переключать среды на странице Dev Environments в App Settings. Текущую выбранную среду всегда можно увидеть в левом верхнем углу проекта.
Выбранная среда используется для генерации соответствующего кода приложения при запуске, тестировании, развертывании или экспорте. Между средами изменяются только проект Firebase или переменные, связанные с значениями среды.
Значения среды
Значения среды можно использовать для динамического изменения частей кода вашего приложения в зависимости от используемой среды.
Например, в приложении для электронной коммерции вы можете определить значение среды apiUrl, которое указывает на разные URL API для разработки, staging и производства. Это позволяет тестировать новые функции без влияния на живую производственную среду, где обрабатываются реальные заказы клиентов.
Использование значения среды
Давайте рассмотрим пример создания и использования apiUrl:
При переключении на среду FlutterFlow генерирует код, специфичный для этой среды, для любого из следующих взаимодействий:
- Сессии в режиме Test / Run
- Local Run
- Экспорт кода
- Развертывание
В зави симости от выбранной среды вы также можете сталкиваться с разными ошибками проекта.
В генерируемом коде FlutterFlow создаёт два файла:
environment.json— хранит значения среды, определённые пользователем в FlutterFlow.- Класс
FFDevEnvironmentValues— синглтон-класс, который содержит единственный экземпляр объектаFFDevEnvironmentValues. Он включает логику инициализации и геттеры для доступа к этим значениям среды. Их также можно ссылаться в ваших пользовательских ресурсах кода. См. Common Custom Code Examples.
Приватные значения среды
Вы можете пометить значения среды как приватные, если они содержат конфиденциальную информацию, которая не должна раскрывать в клиентском коде. Приватные значения среды не включаются в генерируемый код.
В настоящее время единственный способ использовать приватное значение среды — это как переменную в приватном вызове API. Поскольку приватные вызовы API маршрутизируются через Cloud Function, значение переменной остаётся скрытым от любых клиентских запросов, выполняемых приложением.
Для приватных значений среды генерируемый код не включает эти значения в файл environment.json, и в классе FFDevEnvironmentValues не создаётся логика геттеров.
Настройка Firebase или Supabase для каждой среды
Один проект FlutterFlow мо жет иметь несколько сред, каждая из которых сопоставлена со своим проектом Firebase или Supabase. Это гарантирует, что среды вроде Development, Staging и Production остаются независимыми, предоставляя вам лучший контроль над данными и поведением приложения на разных этапах разработки.

Вы должны завершить настройку Firebase или Supabase для среды перед тем, как тестировать приложение в этой среде. Однако это не мешает продолжать запускать и тестировать приложение в других средах. Просто переключитесь обратно на Production, и вы сможете продолжить тестирование, пока завершаете настройку новой среды.
Настройка Firebase
Если ваш проект использует Firebase, вам нужно создать отдельный проект Firebase в консоли Firebase для каждой среды. Затем вы можете изменить выбранную среду на странице настроек Firebase (см. ниже) и следоват ь шагам для ручной настройки проекта Firebase для каждого из них.

Кроме того, вы должны вручную настроить правила Firestore и коллекции для новой среды.
Данные, которые вы добавляете в Firebase через Content Manager, специфичны для проекта Firebase и среды, которые вы выбрали.
Настройка Supabase
Если ваш проект использует Supabase, вам нужно настроить новый проект Supabase для каждой среды.
Создайте специфичные для среды значения, такие как SupabaseAPIURL и SupabaseAnonKey, а затем настройте свойства Supabase, чтобы они указывали на эти newly created values. Ниже приведён пример того, как это будет выглядеть.
Рекомендуется сохранять схемы согласованными между разными средами Supabase. Также рекомендуется Get Schema из среды Production и строить на её основе.