Что такое 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.