Блог Calcup · Быт и повседневное
Calcup теперь спокойнее работает без интернета
Добавили оффлайн-режим: после первого открытия калькуляторы можно запускать из кеша, а сохранённая на главный экран iPhone страница ведёт себя почти как отдельное приложение
В этой заметке
Коротко
- Зачем калькулятору оффлайн-режим
- Как это выглядит на iPhone
- Что именно сохраняется
- Когда пользователь увидит обновления
В статье
Зачем калькулятору оффлайн-режим
Онлайн-калькулятор часто нужен как раз там, где связь ведёт себя плохо. В магазине хочется сравнить две упаковки по цене за килограмм, в дороге — проверить срок или перевод величин, на даче — прикинуть материалы без стабильного интернета. В такой момент форма не должна зависеть от того, поймал ли телефон сеть.
Поэтому в Calcup появился базовый оффлайн-режим. После первого онлайн-открытия браузер сохраняет статические страницы, стили, скрипты и изображения. Если интернет пропадает, уже подготовленные страницы открываются из кеша, а сами формулы продолжают считаться локально.
Как это выглядит на iPhone
Самый понятный сценарий — открыть нужный калькулятор в Safari и добавить его на главный экран. Например, калькулятор выгодной покупки можно держать рядом с обычными приложениями и запускать прямо перед полкой в магазине.
После первого онлайн-запуска такая сохранённая страница сможет открываться без интернета. Это не отдельное приложение из App Store, но для простых локальных расчётов ощущение близкое: нажали и получили рабочую форму.
Что именно сохраняется
В кеш попадает статическая часть сайта: страницы калькуляторов, маршруты категорий, блог, CSS, JavaScript, манифест и локальные изображения. Формулы Calcup не отправляют ввод на сервер, поэтому после загрузки нужных файлов расчёт может выполняться без сети.
Ограничения тоже есть. Метрика, форма обратной связи и внешние аудиопотоки рабочего стола остаются сетевыми. Они не мешают калькуляторам считать оффлайн, но сами без интернета не заработают.
Когда пользователь увидит обновления
Оффлайн-кеш не оставляет пользователя навсегда на старой версии. При следующем открытии с интернетом браузер проверит service worker, скачает свежую сборку и заменит старый кеш новым.
На практике это выглядит спокойно: первый запуск после релиза может ещё показать прежнюю версию, а следующий запуск или перезагрузка уже откроют свежую. Мы не стали перезагружать страницу внезапно посреди расчёта.
Почему начали с простого варианта
Можно было сразу делать экран обновления, очередь фоновой синхронизации и отдельные статусы сети. Но для Calcup важнее был надёжный первый шаг: чтобы калькулятор открывался быстро, не ломал обычный сайт и не обещал больше, чем реально может дать браузер.
Дальше будем смотреть на реальные сценарии. Если понадобится явная кнопка «Обновить версию» или более заметный оффлайн-статус, это можно добавить поверх уже работающего слоя.