PWA: сайт
как приложение
Service worker, офлайн-режим и кнопка «Установить» — как превратить обычный сайт в мини-приложение.
Service worker, офлайн-режим и кнопка «Установить» — как превратить обычный сайт в мини-приложение.
Прогрессивное веб-приложение — сайт с суперспособностями
PWA (Progressive Web App) — это обычный сайт, который приобретает часть возможностей нативного приложения: работу без сети, значок на главном экране телефона, полноэкранный режим без адресной строки браузера.
Главное преимущество — не нужно писать отдельное приложение под iOS и Android. Один и тот же код сайта работает и как страница в браузере, и как «приложение» на экране пользователя.
Два файла — и сайт уже почти PWA
manifest.json — файл с именем сайта, иконками и цветом темы, который браузер использует при установке на экран. Service worker — скрипт, который браузер запускает в фоне отдельно от страницы и который может перехватывать сетевые запросы, кэшировать файлы и показывать push-уведомления.
| Файл | Что делает |
|---|---|
| manifest.json | Имя, иконки, цвет темы для установки на экран |
| service worker (sw.js) | Кэширование, офлайн-режим, push-уведомления |
Не «весь сайт без интернета», а конкретная польза
Полностью офлайн обычно работает не весь сайт, а то, что имеет смысл: уже просмотренные страницы, каталог товаров, сохранённые статьи. Service worker решает, что кэшировать заранее, а что — только при первом запросе.
Для блога или каталога разумно кэшировать статьи, которые пользователь уже открывал — тогда плохой сигнал в метро не помешает дочитать статью.
Без App Store и модерации
Короткие ответы на главное
Технически это тот же сайт — просто с manifest.json и service worker, которые добавляют возможность установки на экран и работу без интернета. Отдельно разрабатывать ничего не нужно.
Для большинства задач — да: каталог, блог, личный кабинет. Для глубокой интеграции с камерой, Bluetooth или push через APNs нативное приложение пока даёт больше возможностей.
Да, service worker работает только по HTTPS — это требование безопасности браузеров, без него PWA просто не активируется.
Добавим manifest и service worker к вашему сайту — установка на экран и офлайн-режим из коробки.