Features Flag
Создание и настройка Features Flag.
Feature Flags — это механизм управления функциональностью приложения и декларации возможностей, доступных в рантайме. В FlipFlag флаги не создаются вручную в интерфейсе — они объявляются разработчиками в коде и создаются автоматически, когда попадают в нужное окружение во время выполнения приложения.
Для чего используются Feature Flags
1. Декларация функциональности в рантайме
Feature Flags могут использоваться как способ декларации того, что определённая функциональность: присутствует в коде, доступна в рантайме, готова к тестированию в конкретном окружении.
Это особенно полезно для проверки доступности фич в разных окружениях, наблюдения за тем, какие возможности реально используются в коде, контроля жизненного цикла функциональности.
2. Управление включением и отключением функций
Классический сценарий использования feature flags — покрытие кода флагами для управления поведением приложения.
С помощью флагов можно:
- включать и отключать функциональность без деплоя;
- управлять релизами и экспериментами;
- быстро отключать проблемные изменения;
- выпускать код в main, не активируя его в production.
Как создають Feature Flags?
Вручную через UI
Любой флаг можно создать с через веб-интерфейс платформы, перейдя в раздел:
"Проекты" -> "Флаги" -> "Создать флаг".
Декларация флага в коде
В FlipFlag можно задекларировать и создать feature flags непосредственно в коде проекта при разработке. Это может быть как объявление новой функциональности, так и покрытие существующего кода флагом для управления поведением приложения.
После декларации флага в коде не требуется вручную создавать его в интерфейсе.
Когда приложение запускается в определённом окружении (runtime), FlipFlag:
- автоматически обнаруживает объявленные в коде флаги;
- создаёт соответствующие feature flags в проекте;
- привязывает их к текущему окружению;
- применяет преднастроенные правила и политики.
Таким образом, список feature flags в платформе всегда отражает реальное состояние флагов в рантайме, без необходимости ручной синхронизации между кодом и интерфейсом.
Ниже приведены примеры того, как объявлять feature flags в коде и использовать их для покрытия логики приложения.
⚠️ Важно!
Для декларации feature flags через код требуется использование приватного ключа (private_key) при настройке SDK.
Использование приватного ключа не рекомендуется в клиентских приложениях (browser, mobile), так как он предоставляет расширенные права и может привести к компрометации проекта.
Для клиентских приложений следует использовать публичные ключи и работать только с уже существующими feature flags, созданными и управляемыми на стороне сервера.
При первом появлении флага в рантайме:
- платформа автоматически создаёт feature flag;
- флаг привязывается к соответствующему проекту и окружению;
- применяются преднастроенные правила (статус, поведение и политики).
- запускаются автоматизации, которые слушают определенные события.
Таким образом, интерфейс всегда отражает реальное состояние флагов в коде, без ручной синхронизации.
