Backend Driven UI
Недавно вспомнил проект, над которым работал год назад. Суть была в использовании анкеты, где пользователи заполняли данные для определенной операции. Всю эту историю мы реализовали в формате Backend Driven UI, то есть когда бэк полностью управляет фронтом.
Детальнее эта логика выглядит так: бэкенд отдает схему интерфейса (компоненты, их порядок, правила валидации, тексты), фронт просто рендерит. У нас получается максимально тонкий клиент, который только отображает.
Плюсы
📲 Не завязаны на релизы Вы можете проводить изменения без необходимости релиза приложения в сторы.
Например, если нужно подправить какой-то минор в виде текста, то вы просто правите это на бэке без необходимости ждать полноценного релизного цикла. В рамках реалий проблем российских приложений в App Store и Google Play такой механизм очень удобен.
🕘 Time to Market Запустили акцию или новый раздел сегодня — пользователи увидели сейчас, а не после очередного апдейта в сторах.
Сложности Само проектирование такого интерфейса требует тщательного анализа, потому что вам надо предвидеть возможность вносить изменения в будущем, чтобы они не ломали приложение и корректно отображались на фронте.
Такой интерфейс тяжелее тестировать, потому что у вас нет заранее определенных экранов: они все динамические.
Пример В РФ достаточно много компаний, кто применяет такой подход. Из ярких примеров можно привести Яндекс, Авито, Ozon.