Server Driven UI (SDUI) — архитектурный подход, при котором сервер определяет не только данные, но и структуру пользовательского интерфейса (какие компоненты, в каком порядке и с какими параметрами отрисовать на клиенте)
Подход также называют BDUI (Backend-Driven UI)
Сервер
{"price": 1990, "currency": "RUB"})Клиент
Сервер
{"type": "price_label", "props": {"text": "1 990 ₽"}})Клиент
Как работает
Система состоит из трёх частей:
Типовой поток
1. На сервере формируется описание экрана (какие компоненты, порядок, свойства, действия).
2. Клиент запрашивает конфигурацию и получает JSON
3. Движок рендеринга разбирает JSON, по
type находит компоненты в реестре и отрисовывает их4. Пользователь взаимодействует (например, нажимает кнопку) — клиент выполняет действие (
action), пришедшее вместе с компонентом5. Нужно поменять экран — правка конфигурации на сервере, при следующем открытии приложения пользователи видят новый UI без обновления из стора
Принципы SDUI
if/else про «что показать» — кандидат на переезд на сервер. Иначе логика дублируется на каждой платформе.price: 1990 + currency сервер сразу отдаёт готовую строку "1 990 ₽". Форматирование, локализация, скругления — на сервере.Плюсы и минусы
Где используется
Когда много платформ, а интерфейс меняется часто и под разные сегменты пользователей:
1. Чем полезен Server Driven UI
2. Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом
3. Server Driven UI в Альфа-Банке
4. Server-Driven UI архитектура: server-driven vs content-driven
5. Как работает Server-Driven UI и зачем он фронтендеру
#архитектура


