Направление из блока корпоративного развития: подключается по мере того, как продукт из MVP превращается в MMP и MLP. Стоимость направления: $4700.
Есть категория пользователей, для которых нестабильная связь стала нормой: склад, стройка, выезд к клиенту, производственный цех, дорога между городами. Для них офлайн не приятная мелочь, а условие, без которого приложением просто не пользуются.
Бизнес теряет здесь на мелочах, которые складываются в большие суммы. Кладовщик записывает приёмку на бумаге, потому что приложение зависло, и вечером данные переносят вручную. Курьер не может отметить доставку в подвале. Клиент в дороге закрывает магазин, потому что каталог не открылся. Офлайн-режим приложения и плавный интерфейс убирают эти разрывы.
Что входит
- Уникальная схема переключения интерфейсов под логику приложения.
- Кэширование данных.
- Синхронизация при отсутствии интернета.
Схема переключения интерфейсов
Плавность начинается с того, что пользователь не ждёт перезагрузки страницы после каждого действия. Экраны переключаются мгновенно, данные подгружаются там, где они нужны, а действие сразу отражается в интерфейсе, даже если сервер ещё не ответил. Схема строится под логику конкретного приложения: у складского терминала и у клиентского магазина она разная.
Кэширование данных
Заранее решается, какие данные должны быть на устройстве всегда: справочники, каталог, текущие заказы, задания на смену. Они сохраняются локально и открываются без сети. Для каждого типа данных определяется, как долго копия считается актуальной и когда её нужно обновить.
Синхронизация без интернета
Действия, совершённые без связи, складываются в очередь на устройстве. Когда соединение возвращается, очередь уходит на сервер в правильном порядке, а пользователь видит, что отправлено, а что ещё ждёт. Повторная отправка не должна создавать дублей заказа или оплаты.
Самое трудное в офлайне: не хранение, а конфликты
Сохранить данные локально просто. Сложно ответить на вопрос, что делать, когда два человека поменяли одну запись, будучи каждый вне сети. Правило разрешения конфликта является бизнес-решением, а не техническим: оно принимается с заказчиком и фиксируется так же, как остальные правила в серверной бизнес-логике.
Типичные варианты: побеждает последнее изменение, побеждает роль с большими правами, конфликт показывается человеку для ручного решения. Для остатков на складе и для текста заметки правильные ответы разные, и это нужно решить до разработки.
Связь с более ранними этапами
Подготовка под PWA (iOS, Android) закладывается ещё на вёрстке интерфейсов. Если её не сделали тогда, часть работы придётся переделать здесь. Это один из немногих случаев, когда экономия на раннем этапе прямо превращается в переделку.
Что получает бизнес
- Сотрудники в поле и на складе работают в приложении, а не на бумаге с последующим ручным переносом.
- Клиент может смотреть каталог и собирать заказ даже при плохой связи.
- Данные, введённые без сети, не теряются и не задваиваются.
- Приложение ощущается быстрым, потому что не ждёт сервер на каждом шаге.
Сколько стоит и от чего зависит
Направление стоит $4700 по фиксированной цене: схема переключения интерфейсов, кэширование и синхронизация. До старта на консультации определяется, какие сценарии обязаны работать без сети, какие данные хранятся на устройстве и как разрешаются конфликты. Если подготовка под PWA не была сделана на этапе вёрстки (он стоит от $0 до $2400), её объём учитывается в расчёте отдельно.
Что ломается, если сэкономить
- Пропала связь, и введённые данные исчезли вместе с открытой формой.
- После восстановления связи заказ отправился дважды или пропал.
- Два сотрудника перезаписали изменения друг друга, и никто не знает, какая версия верна.
- Пользователь не понимает, отправлены ли его действия, и дублирует их по телефону.
Примеры из практики
Мобильное приложение PWA для коммуникации с клиентом ставится на телефон без магазина приложений и работает без интернета. Оно кэширует основные данные, позволяет просматривать товары, опции и заказы и формировать корзину без связи. Как только подключение восстанавливается, действия синхронизируются с сервером, а данные о заказах попадают в CRM.
Обратный пример тоже полезен. В Goal Decomposer план хранится в браузере и копией на сервере под анонимным идентификатором устройства: если браузерную копию очистить, план подтянется с сервера. Но построение плана идёт через модель ИИ, поэтому без сети приложение план не создаст. Это честная граница: «установлено как PWA» ещё не значит «работает офлайн», и объём офлайна определяется сценарием, а не технологией.
Куда дальше
Смежное направление: оптимизация сервера. Карта цикла собрана в стратегии разработки приложения.
Если Ваши сотрудники или клиенты работают там, где пропадает связь, запишитесь на бесплатную консультацию с архитектором. Разберём, какие сценарии должны работать без интернета, и после консультации пришлём расчёт цены и сроков по этапам.