Заказ, курьер и управление доставкой
Jiffy Grocery — британский сервис экспресс-доставки продуктов, для которого работала команда Hook Production. Продукт объединял клиентское приложение, работу курьеров и управление доставкой на последней миле. Первую версию запустили за три месяца.
Для такого сервиса важно связать действия разных участников. Клиент выбирает продукты и оформляет заказ; курьер работает со своей задачей; операционная команда видит доставку и управляет процессом. Карта и мобильные приложения помогают связать эти части продукта.
Клиентское приложение: React внутри React Native
Для интерфейса заказа мы выбрали React, а мобильную оболочку сделали на React Native. Веб-интерфейс открывался внутри приложения через WebView. Так команда могла развивать общую веб-часть и доставлять её изменения отдельно от выпуска мобильного контейнера.
Это решение требовало чётко отделять веб-интерфейс от нативных возможностей. Изменения системных разрешений, зависимостей или самого контейнера всё равно требуют нового выпуска приложения. Скорость обновления интерфейса имеет смысл только вместе с устойчивой навигацией, вводом, загрузкой данных и понятными состояниями ошибки.
Почему архитектура зависит от продукта
Выбор между нативным интерфейсом и WebView начинается с пользовательского сценария. Какие действия выполняются чаще всего? Где нужна работа с возможностями телефона? Как часто меняется интерфейс и сколько платформ поддерживает команда? Для Jiffy мы выбрали сочетание веб-разработки и мобильной оболочки, которое затем подробно разобрали в авторской статье.
Как опыт Jiffy пригодился в Postilla
Позже похожий подход использовали в Postilla: там нужно было выпускать приложения для разных ресторанов и централизованно развивать общую часть продукта. Опыт клиентской разработки помогал принимать решения уже для собственного сервиса — учитывать обновления, повторное использование компонентов и ограничения мобильных платформ.
