Разработка мобильного приложения для логистической компании
Мы разрабатываем мобильные приложения для логистических компаний под ключ — от аудита процессов до публикации в сторах. Задача не просто в написании кода, а в создании системы, объединяющей водителей, кладовщиков, диспетчеров и клиентов. При неправильном проектировании ролевых экранов вы получаете лоскутное одеяло вместо единого приложения. Поэтому разработка начинается не с экранов, а с моделирования бизнес-процессов.
За 5+ лет работы и 50+ проектов в транспортной и логистической сфере мы накопили шаблоны решений для типовых задач: маршрутизация, сканирование, трекинг, офлайн-синхронизация. Все решения адаптируются под конкретного заказчика.
Как оптимизировать маршруты доставки?
Логистическая компания обрабатывает десятки или сотни доставок в день. Ключевая проблема водителя — оптимальный порядок объезда точек. Это задача Travelling Salesman Problem (TSP), для практических объёмов решается эвристиками: nearest neighbor, 2-opt, или готовыми API.
Google Routes Optimization API (бывший Route Optimization AI) принимает список адресов и ограничений (временные окна, грузоподъёмность) и возвращает оптимальный маршрут. OR-Tools от Google — open source библиотека для серверной стороны. Для небольших объёмов (до 20-30 точек) можно считать на клиенте; для больших — серверный сервис.
Временные окна доставки — важный бизнес-параметр. Клиент заказал доставку «с 14 до 16». Если водитель приедет в 17:30 — претензия. Алгоритм маршрутизации должен учитывать эти окна и предупреждать диспетчера о нереалистичных расписаниях.
Что даёт сканирование штрих-кодов?
Подтверждение получения через сканирование — стандарт в логистике. MLKit Barcode Scanning (Google, работает on-device) и Vision Framework (Apple, VNDetectBarcodesRequest) — быстрее и точнее, чем Zxing. MLKit распознаёт QR, Code128, EAN-13, DataMatrix без интернета, что критично для склада с плохим покрытием.
Интеграция в приложение: CameraX (Android) или AVCaptureSession (iOS) с постоянным превью и overlay для прицеливания. Важно: автоматическое закрытие превью после успешного сканирования и вибрация как тактильное подтверждение.
Складской модуль — отдельный флоу. Работник сканирует коробку, видит её содержимое и статус, может изменить локацию или отметить повреждение. Нужна работа в офлайне: склад может быть в подвале без LTE. Room (Android) / Core Data (iOS) как локальное хранилище с синхронизацией при восстановлении сети через WorkManager / BackgroundTasks.
Конфликты при синхронизации — если два работника изменили один товар офлайн — нужна стратегия разрешения: last-write-wins, или explicit conflict UI («данные изменились на сервере, выберите версию»).
Как обеспечиваем синхронизацию в офлайне?
Складской модуль — отдельный флоу. Работник сканирует коробку, видит её содержимое и статус, может изменить локацию или отметить повреждение. Нужна работа в офлайне: склад может быть в подвале без LTE. Room (Android) / Core Data (iOS) как локальное хранилище с синхронизацией при восстановлении сети через WorkManager / BackgroundTasks.
Конфликты при синхронизации — если два работника изменили один товар офлайн — нужна стратегия разрешения: last-write-wins, или explicit conflict UI («данные изменились на сервере, выберите версию»).
Трекинг и клиентское приложение
Клиент хочет видеть, где его посылка прямо сейчас. Это либо отдельное приложение, либо публичная web-страница с трекингом по номеру заказа. Для мобильного клиентского приложения: карта с маркером курьера, анимация движения (интерполяция аналогично пассажирскому такси), push-уведомления при смене статуса.
Статусная модель доставки: created → picked_up → in_transit → out_for_delivery → delivered / failed. Каждый переход — push-уведомление. failed с причиной и предложением перенести доставку.
Аналитика и отчётность
Менеджерский модуль: дашборд с KPI — процент доставок в срок, среднее время на точку, маршруты с задержками на карте тепловой карты. Heatmap через Google Maps TileOverlay с кастомным тайловым провайдером или Mapbox HeatmapLayer. Данные — агрегация из backend API, кешируются локально с TTL 5-10 минут.
По данным исследования Gartner, внедрение мобильных решений в логистике снижает операционные расходы на 15-25%.
Сравнение модулей приложения
| Модуль | Основные функции | Технологии |
|---|---|---|
| Водитель | Маршрут, сканирование, подтверждение доставки | Flutter, Google Maps, MLKit |
| Склад | Инвентаризация, приёмка, отгрузка | Room/CoreData, CameraX/AVCapture |
| Диспетчер | Дашборд, назначение задач, аналитика | WebView/Flutter, REST API |
| Клиент | Трекинг, история, push-уведомления | Flutter, Firebase, Mapbox |
Стек и архитектура
Clean Architecture обязательна при такой сложности: разные роли → разные модули → общее ядро. Flutter с модульной структурой (feature_core, feature_driver, feature_warehouse, feature_client) — каждый модуль компилируется отдельно, что ускоряет сборку и позволяет командам работать параллельно.
Push: FCM для Android и APNs для iOS через единый backend (Firebase Admin SDK или Expo Notifications). Карты: Google Maps SDK или Mapbox, выбор зависит от географии клиента.
Что входит в работу
Мы предоставляем полный комплект документации и deliverables:
- Техническое задание и прототип интерфейсов (Figma)
- Модульная архитектура (по ролям)
- Исходный код с комментариями и CI/CD (GitLab/GitHub)
- Интеграционные тесты и нагрузочное тестирование
- Публикация в App Store и Google Play
- Обучение персонала (2 дня онлайн)
- Поддержка 1 месяц после запуска
Почему нас выбирают?
Наши инженеры сертифицированы по iOS и Android, имеют опыт работы с крупными логистическими сетями (5+ лет на рынке, 50+ реализованных проектов). Мы гарантируем соблюдение сроков и прозрачную отчётность. Свяжитесь с нами для оценки вашего проекта — мы рассчитаем стоимость и сроки индивидуально.
После внедрения решения один из клиентов сэкономил 2,4 млн рублей в год на топливе и амортизации за счёт оптимизации маршрутов.
Сроки и стоимость
Разработка полной логистической системы занимает от 16 до 28 недель в зависимости от сложности интеграций. Стоимость рассчитывается индивидуально после аудита бизнес-процессов. Получите консультацию — напишите нам, и мы подготовим коммерческое предложение.
Типичные ошибки при разработке логистических приложений
- Игнорирование временных окон доставки — приводит к недовольству клиентов.
- Отсутствие офлайн-режима для склада — сбои при плохом интернете.
- Недостаточная обработка конкурентных изменений — расхождения данных.
- Слабая аналитика — менеджеры не видят реальную картину.







