Backend Driven UI — это парадигма разработки приложений, где сервер отвечает и за данные, и за вёрстку пользовательских интерфейсов. Она позволяет внедрять новые функции в режиме онлайн, без перезапусков и обновлений.
Эта глава о том, как трансформировалась мобильная разработка с годами. Если вы уже знаете эту историю, переходите к следующим главам.
BDUI — это парадигма разработки динамических приложений, где сервер управляет не только данными, но и вёрсткой интерфейсов и функциями, доступными разным ролям пользователей. Она позволяет индивидуально настраивать приложение в реальном времени.
В нашем мобильном приложении можно реализовать любые ваши процессы
Отправьте заявку, и мы рассмотрим задачи и особенности вашей компании на демо-встрече
Отправить заявку
Когда по миру гулял коронавирус, мы за вечер построили процесс сбора данных о вакцинации. Уже утром важный процесс был доступен сотрудникам компании из любого интерфейса.
Перед Новым Годом нам нужно было собрать с сотрудников данные о детях для подготовки поздравлений и подарков. Мы быстро настроили и запустили процесс, но в спешке забыли добавить пункт анкеты про интересы ребёнка. Поле мы добавили в действующую анкету, и оно появились даже у сотрудников, которые её уже заполнили.
Мультиролевая модель реализована в нашем супераппе для экосистемы «Сколково». В общей сложности все процессы структурированы для более чем 20 ролей. Для каждой роли продуман свой сервисный дашборд.
При скачивании приложения пользователь получает базовый набор функций (гостевой режим): информационные виджеты, календарь мероприятий, общие сервисные функции (заказ такси, поиск кафе, подбор апартаментов для проживания). Как только, например, он арендует жильё, он получает роль «Житель», после чего может обращаться в управляющую компанию, оформлять пропуска для машин и ещё много чего.
Пересматривая программу онбординга, мы выбирали, как лучше подать большой блок о возможностях системы: сразу погрузить новичков в обилие деталей или сократить информацию. Мнения в проектной команде разделились, и были запущены оба варианта в рамках A/B-тестирования, разделив новых пользователей на группы. После этого проведя интервью с пользователями, мы поняли, на каком из вариантов лучше остановиться.
В качестве простейшего примера — постановка отсутствий в календарь. Интерфейсы имеют некоторые различия, исходя из обзорных возможностей, но решают одну задачу. В любой момент можно глобально и независимо изменить каждый из них.
Суперапп для экосистемы «Сколково» вырос из потребностей пользователей, чьи дети учатся в Международной Гимназии. Функции были ограничены, что местами сильно упростило архитектуру и ускорило запуск проекта. Но в дальнейшем стали появляться новые функциональные потребности, что привело к необходимости выбора: делать долго с полной обратной совместимостью старых и новых релизов или перейти на архитектуру 2.0 с обязательным обновлением всех старых версий приложения для полноценной работы.
В ближайшем будущем мы готовим большое обновление приложения, почитать можно тут.
У нас есть клиент, чьи администраторы, пройдя наше базовое обучение, теперь сами настраивают процессы, зачастую сильно перегружая их. В результате этой избыточности может страдать быстродействие. В итоге решать эту проблему приходится нам либо через какие-то структурные оптимизации, либо даже через запреты на определённые настройки.
Предположим, есть сторонний сервис новостей, а мы не хотим делать полноценную затратную интеграцию, заводить процесс и все сущности для синхронизации в нашей базе данных и так далее. Тогда мы делаем простое прокси-решение:
- Публикуем новый метод для получения ленты новостей.
- Под капотом на Lua формируем сетевой запрос к стороннему сервису, обрабатываем полученные данные, формируем необходимую типизированную отдачу.
- Через админ-панель приложения настраиваем новый виджет новостей на базе нового метода.
Всё! При открытии приложения пользователь видит новости из стороннего сервиса.
Все данные находятся в системе, и благодаря low-code настройкам клиент может прямо по ходу заполнения чек-листа запускать смежные процессы: например, автоматически поставить задачу специалистам хозяйственной службы на уборку зала.
У нас ещё много кейсов со «Спортмастером» и другими крупными компаниями
Для некоторых, например, для «Вкусвилла», мы настраивали особый процесс с участием выездных сотрудников. Этот и другие кейсы мы собрали в отдельном разделе.
Перейти
Кейсы обо всех функциях SkolCity мы собрали в отдельную подборку
Читать