Что такое BDUI (Backend-Driven UI)
BDUI (Backend-Driven UI, он же Server-Driven UI / SDUI) — подход, при котором интерфейс экрана описывает сервер, а приложение лишь рендерит присланную схему. Вместо того чтобы «зашивать» верстку в код клиента, бэкенд отправляет структуру экрана (обычно в JSON), и клиент собирает по ней UI.
Главное следствие: интерфейс можно менять без релиза приложения и без ожидания ревью в App Store и Google Play.
Как это работает
Сервер → схема экрана (JSON: блоки, порядок, данные)
Клиент → движок рендеринга собирает нативный UI по схеме
Клиент содержит набор поддерживаемых компонентов и «движок», который умеет их собирать по описанию. Сервер решает, какие блоки, в каком порядке и с каким содержимым показать конкретному пользователю.
Зачем BDUI в e-commerce
- Скорость изменений. Витрину, баннеры и порядок блоков в приложении можно перестроить с сервера за минуты, а не за цикл релиза.
- Персонализация. Экран собирается под сегмент и поведение — разные пользователи видят разную главную. См. in-app персонализацию.
- Эксперименты. A/B-тесты интерфейса без выпуска новой версии и без риска «застрять» в ревью стора.
Ограничения
- Сложнее бэкенд. Логика верстки переезжает на сервер — нужен движок схем и его поддержка.
- Клиентский рендер. На клиенте требуется движок, умеющий собирать все поддерживаемые компоненты.
- Версионирование компонентов. Старые версии приложения должны корректно обрабатывать новые схемы.
BDUI в Gravity Field
BDUI — реальный дифференциатор мобильной платформы Gravity Field: экраны приложения строятся через Flutter BDUI SDK и управляются с сервера. Подробный разбор подхода — в статье блога «Что такое BDUI и как он помогает расти e-commerce», техническая интеграция — в руководстве по Flutter BDUI SDK.