Backend Driven UI: как Whoosh решила проблему управления статусами через мобильное приложение
Backend-разработчик Игорь Волынский из команды Whoosh рассказал, как компания решила проблему управления флотом из 245 тысяч самокатов и велосипедов. Старые методы разработки мобильных приложений перестали работать при таких объемах.
Хаос в управлении техникой
Сотни механиков, специалистов по контролю качества и бригадиров использовали одно приложение WCMA (Whoosh Control Maintenance App). Все видели одинаковые кнопки и статусы.
Результат предсказуем:
- Ошибки в процессах
- Потерянные задачи
- Нарушенные сроки ремонта
- Путаница новичков
- Минимальный контроль
Первые версии приложения напоминали "пульт-отмычку" - доступны все действия сразу. Разные версии мобильного приложения с разным функционалом создавали настоящий хаос.
Попытка решения через роли
Команда Whoosh попыталась решить проблему традиционно: создали больше ролей в системе. Каждая роль получила свой раздел. Добавили множество проверок на backend.
Схема работала, пока бизнес-логика оставалась простой. Рост бизнеса принес новые сложности:
- Региональные особенности работы в разных городах
- Ролевые ограничения
- Условные переходы, зависящие от контекста
Старая система уже не справлялась.
Backend Driven UI как решение проблемы
Разработчики Whoosh построили централизованную систему управления статусами. Система состоит из трех компонентов:
1. Централизованное управление статусами
Гибкая система управления статусами заменила жесткие роли. Каждый статус настраивается под конкретные задачи и контекст.
2. Условные переводы с хендлерами
Хендлеры проверяют бизнес-правила перед каждым действием. Система блокирует некорректные операции на уровне backend.
3. Динамические сценарии
Пользовательский интерфейс формируется гибко. Механики и менеджеры видят только доступные им действия в конкретной ситуации.
Backend гарантирует целостность данных на системном уровне. Ошибки исключены.
Результаты внедрения
После внедрения Backend Driven UI:
- Механики видят только доступные им действия
- Новички не путаются в интерфейсе
- Региональные особенности учитываются автоматически
- Контроль качества работ повысился
- Сроки ремонта соблюдаются
Уроки для индустрии разработки
Опыт Whoosh показывает: традиционные методы проектирования интерфейсов требуют пересмотра при работе с крупными операционными командами.
Когда пользователей сотни, а управляемые объекты исчисляются сотнями тысяч - нужны новые подходы.
Backend Driven UI эффективен для систем с множественными ролями пользователей и сложной бизнес-логикой. Планирование масштабируемости должно начинаться с ранних этапов проекта.
Компании, которые разрабатывают корпоративные мобильные решения, могут применить этот опыт в своих проектах.