Напрям із блоку корпоративного розвитку: підключається тоді, коли продукт із MVP перетворюється на MMP і MLP. Вартість напряму: $4700.
Є категорія користувачів, для яких нестабільний звʼязок став нормою: склад, будівництво, виїзд до клієнта, виробничий цех, дорога між містами. Для них офлайн не приємна дрібниця, а умова, без якої застосунком просто не користуються.
Бізнес утрачає тут на дрібницях, які складаються у великі суми. Комірник записує приймання на папері, бо застосунок завис, і ввечері дані переносять вручну. Курʼєр не може позначити доставку в підвалі. Клієнт у дорозі закриває магазин, бо каталог не відкрився. Офлайн-режим застосунку й плавний інтерфейс прибирають ці розриви.
Що входить
- Унікальна схема перемикання інтерфейсів відповідно до логіки застосунку.
- Кешування даних.
- Синхронізація за відсутності інтернету.
Схема перемикання інтерфейсів
Плавність починається з того, що користувач не чекає перезавантаження сторінки після кожної дії. Екрани перемикаються миттєво, дані підвантажуються там, де вони потрібні, а дія одразу відображається в інтерфейсі, навіть якщо сервер ще не відповів. Схему будуємо під логіку конкретного застосунку: у складського термінала й у клієнтського магазину вона різна.
Кешування даних
Заздалегідь вирішуємо, які дані мають бути на пристрої завжди: довідники, каталог, поточні замовлення, завдання на зміну. Вони зберігаються локально й відкриваються без мережі. Для кожного типу даних визначаємо, скільки часу копія вважається актуальною і коли її треба оновити.
Синхронізація без інтернету
Дії, виконані без звʼязку, складаються в чергу на пристрої. Коли зʼєднання повертається, черга йде на сервер у правильному порядку, а користувач бачить, що надіслано, а що ще чекає. Повторне надсилання не повинно створювати дублікатів замовлення чи оплати.
Найважче в офлайні: не зберігання, а конфлікти
Зберегти дані локально просто. Складно відповісти на питання, що робити, коли двоє людей змінили один запис, перебуваючи кожен поза мережею. Правило розвʼязання конфлікту є бізнес-рішенням, а не технічним: його ухвалюють із замовником і фіксують так само, як інші правила в серверній бізнес-логіці.
Типові варіанти: перемагає остання зміна, перемагає роль із ширшими правами, конфлікт показується людині для ручного рішення. Для залишків на складі й для тексту нотатки правильні відповіді різні, і це треба вирішити до розробки.
Звʼязок із ранішими етапами
Підготовку під PWA (iOS, Android) закладають ще на верстці інтерфейсів. Якщо її не зробили тоді, частину роботи доведеться переробити тут. Це один із небагатьох випадків, коли економія на ранньому етапі прямо перетворюється на переробку.
Що отримує бізнес
- Співробітники в полі й на складі працюють у застосунку, а не на папері з подальшим ручним перенесенням.
- Клієнт може переглядати каталог і збирати замовлення навіть за поганого звʼязку.
- Дані, введені без мережі, не губляться й не дублюються.
- Застосунок відчувається швидким, бо не чекає сервер на кожному кроці.
Скільки коштує і від чого залежить
Напрям коштує $4700 за фіксованою ціною: схема перемикання інтерфейсів, кешування й синхронізація. До старту на консультації визначаємо, які сценарії мусять працювати без мережі, які дані зберігаються на пристрої та як розвʼязуються конфлікти. Якщо підготовку під PWA не зробили на етапі верстки (він коштує від $0 до $2400), її обсяг ураховується в розрахунку окремо.
Що ламається, якщо заощадити
- Зник звʼязок, і введені дані зникли разом із відкритою формою.
- Після відновлення звʼязку замовлення надіслалося двічі або загубилося.
- Двоє співробітників перезаписали зміни одне одного, і ніхто не знає, яка версія правильна.
- Користувач не розуміє, чи надіслано його дії, і дублює їх телефоном.
Приклади з практики
Мобільний застосунок PWA для комунікації з клієнтом встановлюється на телефон без магазину застосунків і працює без інтернету. Він кешує основні дані, дає змогу переглядати товари, опції й замовлення та формувати кошик без звʼязку. Щойно зʼєднання відновлюється, дії синхронізуються із сервером, а дані про замовлення потрапляють у CRM.
Зворотний приклад теж корисний. У Goal Decomposer план зберігається в браузері й копією на сервері під анонімним ідентифікатором пристрою: якщо браузерну копію очистити, план підтягнеться із сервера. Але побудова плану йде через модель ШІ, тому без мережі застосунок план не створить. Це чесна межа: «встановлено як PWA» ще не означає «працює офлайн», і обсяг офлайну визначає сценарій, а не технологія.
Куди далі
Суміжний напрям: оптимізація сервера. Карту циклу зібрано в стратегії розробки застосунку.
Якщо Ваші співробітники чи клієнти працюють там, де зникає звʼязок, запишіться на безкоштовну консультацію з архітектором. Розберемо, які сценарії мають працювати без інтернету, а після консультації надішлемо розрахунок ціни та строків за етапами.