
Приложение, которое переживает метро, лифт и плохой вокзальный Wi-Fi. Что делает service worker, когда сеть врёт, какие данные держать у себя, как потом мирить их с сервером и почему установка на устройство поднимает планку качества.
PWA часто воспринимают как чек-лист: манифест, иконка, service worker - и приложение "стало установимым". Но установимость не делает интерфейс надёжным в реальной сети, где соединение то есть, то пропадает, ответы приходят с задержкой, а вкладка живёт неделями между обновлениями. Offline-first - это не режим "без сети", а модель отказов: приложение с самого начала считает сеть ненадёжным ресурсом и строит поведение вокруг локальной истины, а не вокруг удачного запроса.
Эта книга собирает PWA в инженерную систему. Сначала - модель: чем PWA отличается от мифов, три слоя данных, secure context. Затем - service worker: жизненный цикл, регистрация и scope, install и activate без гонок, fetch как программируемый proxy. Дальше - кеширование: Cache Storage против HTTP cache, стратегии (Cache First, Network First, Stale While Revalidate) и матрица их применения, precache, navigation fallback и безопасное обновление. После - данные и синхронизация: IndexedDB как локальная модель, транзакции и миграции, quota и eviction, outbox, Background Sync и разрешение конфликтов. Затем - платформа: манифест, установка, интеграция и Workbox. В конце - эксплуатация: безопасность, тестирование переходов, отладка, наблюдаемость и production playbook.
Материал держится на одном принципе: понимать механизм, а не заучивать рецепты. Там, где обычно дают приём, книга объясняет, почему он работает, чего стоит и когда перестаёт годиться. Поведение и API сверены с документацией MDN, спецификациями W3C Service Workers, Web App Manifest и IndexedDB, материалами web.dev и Workbox, а не с распространёнными пересказами.
Читать можно по порядку - главы идут от модели отказов к service worker, кешированию, данным и эксплуатации - или обращаться к нужной. В конце собран короткий глоссарий терминов и список первоисточников.