Плавність інтерфейсу та офлайн-версія: коли інтернет зник, а робота ні

Схема перемикання інтерфейсів, кешування даних і синхронізація без інтернету. Для кого офлайн не зручність, а умова роботи, і як не втратити дані, коли зникає звʼязок.

Плавність інтерфейсу та офлайн-версія: коли інтернет зник, а робота ні
INGELLO / BUSINESS3041

Напрям із блоку корпоративного розвитку: підключається тоді, коли продукт із MVP перетворюється на MMP і MLP. Вартість напряму: $4700.

Є категорія користувачів, для яких нестабільний звʼязок став нормою: склад, будівництво, виїзд до клієнта, виробничий цех, дорога між містами. Для них офлайн не приємна дрібниця, а умова, без якої застосунком просто не користуються.

Бізнес утрачає тут на дрібницях, які складаються у великі суми. Комірник записує приймання на папері, бо застосунок завис, і ввечері дані переносять вручну. Курʼєр не може позначити доставку в підвалі. Клієнт у дорозі закриває магазин, бо каталог не відкрився. Офлайн-режим застосунку й плавний інтерфейс прибирають ці розриви.

Що входить

  • Унікальна схема перемикання інтерфейсів відповідно до логіки застосунку.
  • Кешування даних.
  • Синхронізація за відсутності інтернету.

Схема перемикання інтерфейсів

Плавність починається з того, що користувач не чекає перезавантаження сторінки після кожної дії. Екрани перемикаються миттєво, дані підвантажуються там, де вони потрібні, а дія одразу відображається в інтерфейсі, навіть якщо сервер ще не відповів. Схему будуємо під логіку конкретного застосунку: у складського термінала й у клієнтського магазину вона різна.

Кешування даних

Заздалегідь вирішуємо, які дані мають бути на пристрої завжди: довідники, каталог, поточні замовлення, завдання на зміну. Вони зберігаються локально й відкриваються без мережі. Для кожного типу даних визначаємо, скільки часу копія вважається актуальною і коли її треба оновити.

Синхронізація без інтернету

Дії, виконані без звʼязку, складаються в чергу на пристрої. Коли зʼєднання повертається, черга йде на сервер у правильному порядку, а користувач бачить, що надіслано, а що ще чекає. Повторне надсилання не повинно створювати дублікатів замовлення чи оплати.

Найважче в офлайні: не зберігання, а конфлікти

Зберегти дані локально просто. Складно відповісти на питання, що робити, коли двоє людей змінили один запис, перебуваючи кожен поза мережею. Правило розвʼязання конфлікту є бізнес-рішенням, а не технічним: його ухвалюють із замовником і фіксують так само, як інші правила в серверній бізнес-логіці.

Типові варіанти: перемагає остання зміна, перемагає роль із ширшими правами, конфлікт показується людині для ручного рішення. Для залишків на складі й для тексту нотатки правильні відповіді різні, і це треба вирішити до розробки.

Звʼязок із ранішими етапами

Підготовку під PWA (iOS, Android) закладають ще на верстці інтерфейсів. Якщо її не зробили тоді, частину роботи доведеться переробити тут. Це один із небагатьох випадків, коли економія на ранньому етапі прямо перетворюється на переробку.

Що отримує бізнес

  • Співробітники в полі й на складі працюють у застосунку, а не на папері з подальшим ручним перенесенням.
  • Клієнт може переглядати каталог і збирати замовлення навіть за поганого звʼязку.
  • Дані, введені без мережі, не губляться й не дублюються.
  • Застосунок відчувається швидким, бо не чекає сервер на кожному кроці.

Скільки коштує і від чого залежить

Напрям коштує $4700 за фіксованою ціною: схема перемикання інтерфейсів, кешування й синхронізація. До старту на консультації визначаємо, які сценарії мусять працювати без мережі, які дані зберігаються на пристрої та як розвʼязуються конфлікти. Якщо підготовку під PWA не зробили на етапі верстки (він коштує від $0 до $2400), її обсяг ураховується в розрахунку окремо.

Що ламається, якщо заощадити

  • Зник звʼязок, і введені дані зникли разом із відкритою формою.
  • Після відновлення звʼязку замовлення надіслалося двічі або загубилося.
  • Двоє співробітників перезаписали зміни одне одного, і ніхто не знає, яка версія правильна.
  • Користувач не розуміє, чи надіслано його дії, і дублює їх телефоном.

Приклади з практики

Мобільний застосунок PWA для комунікації з клієнтом встановлюється на телефон без магазину застосунків і працює без інтернету. Він кешує основні дані, дає змогу переглядати товари, опції й замовлення та формувати кошик без звʼязку. Щойно зʼєднання відновлюється, дії синхронізуються із сервером, а дані про замовлення потрапляють у CRM.

Зворотний приклад теж корисний. У Goal Decomposer план зберігається в браузері й копією на сервері під анонімним ідентифікатором пристрою: якщо браузерну копію очистити, план підтягнеться із сервера. Але побудова плану йде через модель ШІ, тому без мережі застосунок план не створить. Це чесна межа: «встановлено як PWA» ще не означає «працює офлайн», і обсяг офлайну визначає сценарій, а не технологія.

Куди далі

Суміжний напрям: оптимізація сервера. Карту циклу зібрано в стратегії розробки застосунку.

Обговорити офлайн-сценарії.

Якщо Ваші співробітники чи клієнти працюють там, де зникає звʼязок, запишіться на безкоштовну консультацію з архітектором. Розберемо, які сценарії мають працювати без інтернету, а після консультації надішлемо розрахунок ціни та строків за етапами.

Поширені питання

01Чи може PWA-застосунок працювати повністю без інтернету?

Може, якщо офлайн закладено в проєкт, а не лише встановлення на телефон. Дані, потрібні для роботи, кешуються на пристрої, дії без звʼязку складаються в чергу й ідуть на сервер, коли мережа повернеться. Функції, яким потрібен сервер або зовнішній сервіс (наприклад, генерація через модель ШІ чи онлайн-оплата), без мережі не виконаються, і це варто чесно обговорити заздалегідь.

02Як розвʼязуються конфлікти даних під час офлайн-синхронізації?

Правило конфлікту обирають разом із замовником як бізнес-рішення. Типові варіанти: перемагає остання зміна, перемагає роль із ширшими правами, або конфлікт показують людині для ручного рішення. Для залишків на складі, статусів замовлення й текстових нотаток правила зазвичай різні. Обрані правила фіксуються в серверній бізнес-логіці до початку розробки.

03Скільки коштує офлайн-режим для застосунку?

У стратегії розробки Ingello напрям «Плавніший інтерфейс та офлайн-версія» коштує $4700 за фіксованою ціною. До нього входять схема перемикання інтерфейсів відповідно до логіки застосунку, кешування даних і синхронізація за відсутності інтернету. Якщо підготовку під PWA не зробили на етапі верстки, її обсяг ураховується в розрахунку окремо.

04Чи можна додати офлайн-режим у застосунок, що вже працює?

Так, але обсяг залежить від того, як застосунок зверстаний і як побудований обмін із сервером. Якщо підготовку під PWA заклали на етапі верстки інтерфейсів, офлайн додається поверх. Якщо ні, частину інтерфейсу доводиться переробити. Для застосунку, написаного іншою командою, спершу проводиться аудит: $800 за текстовий звіт або $2400 із раннім прототипом доробки.

05Яким бізнесам офлайн-режим потрібен насамперед?

Тим, чиї співробітники або клієнти регулярно опиняються без стабільного звʼязку: склади й виробничі цехи, будівництва, виїзні сервісні бригади, курʼєри, торгові представники, клієнти в дорозі. Для них офлайн вирішує, чи дані вноситимуться в систему одразу, чи переноситимуться з паперу наприкінці дня з помилками та затримкою.