В этом нам помогут Flavors - механизм создания нескольких разных сборок из одной кодовой базы. Изначально они появились в нативных приложениях.
Зачем нам нужны Flavors?
🟡 Для разделения приложения по разным окружениям. Например, можно сделать версии для разработки, тестирования и релиза.
🟡 Для White Label приложений, где сборки различаются темами, иконками, ресурсами и переменными окружения.
🟡 Если у вашего приложения есть 2 версии - бесплатная и платная.
Что можно поменять через Flavors?
Bundle ID приложения. Например, добавить к нему суффикс, чтобы вместо
com.sample.example стало com.sample.example.dev, или полностью его изменить, сделать com.myapp.example.Иконку и название приложения. Это полезно, чтобы разграничить версии для разных окружений.
Переменные окружения для нативных частей. Для замены некоторых частей приложения, где это необходимо.
Тему приложения и ресурсы (assets). Для изменения внешнего вида приложения.
Давайте посмотрим, как это делается во Flutter-части наших приложений. Для начала создадим дополнительную точку входа для нашего приложения -
main_dev.dart. Это полная копия нашего main.dart, но тут мы уже можем изменять тему и любые части, которые нужно.Далее изменим
pubspec.yaml, чтобы он добавил ресурсы, которые различаются для различных Flavors:flutter:
assets:
- assets/common/ # Для общих ресурсов
- path: assets/main
flavors:
- main
- path: assets/dev
flavors:
- dev
И теперь мы можем запустить наш код:
flutter run --flavor dev --target lib/main_dev.dart
В следующих постах мы рассмотрим как нам сделать Flavors для Android и iOS.
