Коротко
- PWA собирается на обычных веб-технологиях: один код работает на телефонах и компьютерах, открывается по ссылке и индексируется поисковиками.
- Для установки нужен манифест с названием и значками и защищённое соединение HTTPS. Работу без сети и пуш-уведомления даёт отдельный скрипт, service worker.
- На Android в Chrome с сервисами Google PWA ставится почти как обычное приложение. На iPhone установка идёт вручную через меню «Поделиться», а пуш работает только после добавления на экран.
- Bluetooth в браузерах iPhone не работает, и веб-NFC там тоже нет. Если продукт на этом держится, нужен нативный вариант.
- В условном расчёте за три года PWA обходится в десять раз дешевле двух нативных приложений.
Данные сверены по официальным источникам на 5 ноября 2026 года. Поддержка браузеров меняется с каждым обновлением, перед запуском проверяйте функции на реальных устройствах.
Что такое PWA простыми словами
PWA — это приложение на технологиях веба, которое ведёт себя как приложение платформы. Человек заходит на сайт, нажимает «Установить», и на экране появляется значок. Открывается такой сайт в отдельном окне без адресной строки браузера, поэтому внешне отличить его от обычного приложения сложно.
Название расшифровывается как Progressive Web App. Слово «прогрессивное» здесь значит, что новые функции подключаются там, где браузер их поддерживает. На новом телефоне будут работать уведомления, а на старом человек увидит обычный рабочий сайт.
Google описывает три свойства PWA: расширенные возможности (уведомления, геолокация), надёжность при плохой сети и установка на устройство. На практике для бизнеса важны такие вещи:
- значок на экране телефона и быстрый запуск;
- открытие последнего каталога или заказа при плохой связи;
- пуш-уведомления о статусе заказа или записи;
- обновление без магазина приложений: вы выложили новую версию, и у всех она уже есть;
- одна версия вместо отдельных приложений для iOS и Android.
Как работает PWA: установка, офлайн и пуш
PWA работает на трёх частях: манифесте, защищённом соединении и service worker. Манифест — это небольшой файл с названием, значками и настройками запуска, он обязателен для установки. Сайт должен открываться по HTTPS. Service worker для самой установки не требуется, но без него не будет работы без сети и пуш-уведомлений.
Service worker удобно представить как администратора на ресепшене. Браузер идёт за страницей на сервер, а администратор перехватывает запрос: если связь есть, идёт за свежей версией, если связи нет, достаёт сохранённую копию из шкафа. Он же принимает сообщения от сервера и показывает уведомление, даже когда приложение закрыто.
Для браузеров на движке Chromium манифест должен содержать название, значки 192 и 512 пикселей, стартовый адрес и режим отображения. Проверить эти поля разработчик может быстро, если сайт уже работает по HTTPS.
| Функция | Что нужно на сайте | Что получает клиент |
|---|---|---|
| Установка | Манифест и HTTPS | Значок на экране и отдельное окно |
| Офлайн | Service worker и кэш | Страницы и данные открываются без сети |
| Пуш-уведомления | Service worker, подписка и сервер отправки | Сообщения на телефон, когда сайт закрыт |
| Фоновая отправка данных | Background Sync | Отправка задачи при появлении сети, если браузер поддерживает |
| Счётчик на значке | Badging API | Цифра на значке, например число новых заказов |
Пуш-уведомления требуют активного service worker и разрешения пользователя. Скрытых уведомлений нет: по документации MDN каждое push-сообщение должно быть показано человеку, поэтому незаметно обновить данные на телефоне таким способом не выйдет.
Офлайн-режим тоже нужно проектировать. Сайт не станет сам работать без сети: разработчик решает, какие страницы хранить, что показать, если данных нет, и как отправить заказ после появления связи.
Что поддерживают iOS и Android
Android поддерживает PWA шире, чем iOS, но разница сократилась с 2023 года, когда iPhone получил пуш-уведомления для установленных веб-приложений. На Android установка как полноценного приложения (WebAPK) работает только в Chrome на устройствах с сервисами Google и в Samsung Internet. Остальные браузеры создают ярлык, который открывает сайт в браузере.
| Что проверяем | Android | iPhone и iPad | Компьютер |
|---|---|---|---|
| Как установить | Предложение браузера или пункт меню | Вручную: «Поделиться» → «На экран Домой» | Значок в адресной строке Chrome и Edge, Safari: «Файл» → «Добавить в Dock» |
| Какие браузеры | Chrome с сервисами Google, Samsung Internet; остальные дают ярлык | С iOS 16.4: Safari, Chrome, Edge, Firefox, Orion | Chromium-браузеры, Safari на macOS Sonoma; Firefox манифест не использует |
| Своя кнопка «Установить» | Можно показать на сайте | Нельзя вызвать окно установки из сайта | Можно в Chromium-браузерах |
| Пуш-уведомления | Да | С iOS 16.4, только после установки на экран | Да |
| Работа без сети | Да | Да | Да |
| Bluetooth | Chrome на Android | Нет | Зависит от браузера |
| NFC | Chrome на Android | Нет | Нет |
Пуш на iPhone работает при трёх условиях: сайт добавлен на экран как веб-приложение, в манифесте указан режим standalone или fullscreen, а разрешение запрошено в ответ на нажатие человека. Если он сохранил просто закладку, уведомлений не будет.
Web Bluetooth на iPhone не поддерживается, Firefox его тоже не поддерживает. Web NFC MDN отмечает как экспериментальную технологию с ограниченной доступностью, он не входит в базовый набор, поддерживаемый всеми основными браузерами.
Отдельная особенность касается хранения данных. WebKit указывает, что браузер может удалить сохранённое при нехватке места или если сайтом долго не пользовались. Важные данные заказа должны жить на сервере, а телефон хранит только копию для удобства.
Чем PWA отличается от сайта, приложения и мини-приложения
PWA отличается от обычного сайта установкой, офлайном и пуш-уведомлениями, а от нативного приложения тем, что живёт на вебе и не требует магазина. Мини-приложение отличается тем, что работает внутри мессенджера. Цифры в таблице — ориентиры по рынку для простого проекта, подробная разбивка цен есть в статье сколько стоит мобильное приложение.
| Что сравниваем | Адаптивный сайт | PWA | Нативное приложение | Мини-приложение в мессенджере |
|---|---|---|---|---|
| Ориентир цены | 30 000–300 000 ₽ | Плюс 20–50% к цене сайта | 800 000–2 000 000 ₽ | 80 000–400 000 ₽ |
| Как попадают клиенты | Поиск, реклама, ссылка | То же плюс значок на экране | Магазин приложений | Мессенджер и бот |
| Установка | Не нужна | По желанию из браузера | Обязательна | Не нужна |
| Поисковая выдача | Да | Да | Только страница в магазине и сайт | Нет |
| Пуш-уведомления | Нет | Да, с оговорками для iPhone | Да | Через бота |
| Офлайн | Нет | Да | Да | Ограниченно |
| Доступ к устройству | Базовый | Шире, но с ограничениями | Полный | Определяет платформа |
| Обновление | Сразу | Сразу | Через проверку магазина и обновление у клиента | Сразу |
| Зависимость от платформы | Минимальная | Браузер и ОС | Магазины приложений | Мессенджер |
Важный плюс PWA для бизнеса в том, что это тот же сайт. По сравнению MDN у него одна кодовая база и доступ по адресу, а значит, страницы индексируются поисковиками и на них можно вести рекламу. Сделать это на нативном приложении нельзя, поэтому для него приходится создавать отдельную посадочную, как в статье про сайт для мобильного приложения.
Основа для PWA всё равно нормальный мобильный сайт. Если страницы плохо выглядят на телефоне, значок на экране ничего не исправит, поэтому сначала проверьте адаптивную вёрстку.
Мини-приложение удобнее там, где вся база клиентов уже в мессенджере, подробнее о формате в статье про мини-приложения в Телеграм. PWA зато не зависит от правил и доступности одной площадки.
Кому подходит PWA, а кому нужно нативное приложение
PWA подходит бизнесу, у которого клиент возвращается за повторным заказом, записью или проверкой статуса, а сложные функции телефона не нужны. Для разовых покупок значок на экране почти никто не поставит, поэтому такому бизнесу выгоднее хороший сайт.
| Ситуация | Что выбрать | Почему |
|---|---|---|
| Доставка еды, воды, цветов с повторными заказами | PWA | Значок, история заказов, уведомления о статусе |
| Личный кабинет клиента, клуб, абонементы | PWA | Быстрый вход и уведомления без магазина |
| Каталог для дилеров и торговых представителей | PWA | Работает при слабой связи, легко обновлять |
| Внутренний инструмент для выездных сотрудников | PWA | Устанавливается по ссылке, без публикации в магазине |
| Разовые покупки: ремонт, окна, юристы | Адаптивный сайт | Приложением никто пользоваться не будет |
| База клиентов живёт в мессенджере | Мини-приложение | Клиенту не нужно никуда переходить |
| Приложение работает с Bluetooth-устройством | Нативное | На iPhone такая связь в браузере недоступна |
| Игры и тяжёлая графика | Нативное | Нужна производительность и доступ к системе |
| Важно быть в App Store и RuStore как бренд | Нативное или оболочка | PWA само в магазины не попадает |
Перед решением ответьте на три вопроса:
- Откроет ли клиент сервис больше одного раза в месяц?
- Нужно ли ему что-то, кроме экрана и уведомлений?
- Хватит ли базы клиентов, чтобы предложить им поставить значок?
Если на первый вопрос ответ «нет», остановитесь на сайте. Если на второй ответ «да», смотрите в сторону нативного приложения.
Если сомневаетесь, что выбрать под вашу задачу, мы посмотрим сайт и подскажем, стоит ли вкладываться в PWA или хватит доработки текущих страниц.
Сколько стоит PWA и из чего складывается цена
PWA стоит примерно на 20–50% дороже обычного сайта, это наш ориентир по рынку на 2026 год, официальных цен нет. Цена складывается по той же формуле, что и у любой разработки: часы работы умножаются на ставку команды, у студий это обычно 2 000–4 000 ₽ в час. Так, для сайта за 300 000 ₽ доработка до PWA обойдётся примерно в 60 000–150 000 ₽.
| Работа | Что входит | От чего зависит цена |
|---|---|---|
| Базовая установка | Манифест, значки, настройки запуска | Почти не зависит от размера сайта |
| Офлайн-режим | Service worker, правила кэша, экран без сети | Сколько страниц и данных должно работать без связи |
| Пуш-уведомления | Подписка, сервер отправки, сценарии, настройки | Число сценариев и связка с CRM |
| Интерфейс «как в приложении» | Нижнее меню, плавные переходы, быстрый вход | Сколько экранов надо перестроить |
| Проверка | Android, iPhone, разные браузеры | Сколько устройств поддерживаете |
Если нужен личный кабинет, каталог с корзиной и оплата, основная часть денег пойдёт на сам сервис: серверную логику, базу и интеграции. Эти работы оплачиваются при любом выборе формата. Чем отличается работа фронтенд-разработчика и бэкенд-разработчика, мы рассказывали в материале про фронтенд и бэкенд.
Сравним расходы за три года на условном примере. Допустим, сеть кофеен с готовым сайтом хочет предзаказ, бонусы и уведомления, а маржа с одного заказа составляет условные 200 ₽. Поддержку считаем как 20% от разработки в год.
| Вариант | Разработка | Поддержка за три года | Итого за три года | Сколько заказов окупят расходы | В месяц |
|---|---|---|---|---|---|
| PWA на готовом сайте | 120 000 ₽ | 72 000 ₽ | 192 000 ₽ | 960 | Примерно 27 |
| Мини-приложение | 250 000 ₽ | 150 000 ₽ | 400 000 ₽ | 2 000 | Примерно 56 |
| Нативное на две платформы | 1 200 000 ₽ | 720 000 ₽ | 1 920 000 ₽ | 9 600 | Примерно 267 |
Разница в этом примере составляет 1 728 000 ₽ в пользу PWA. Экономия реальна только при условии, что возможностей веба хватает и клиенты действительно ставят значок, поэтому начать лучше с проверки спроса, а нативное приложение делать, когда выросла база и понятны ограничения.
Как запустить PWA: пошагово
Запуск PWA начинается с проверки сайта, а срок зависит от объёма: по нашему опыту простая установка занимает несколько дней, версия с офлайном и пушем несколько недель. Последовательность такая:
- Опишите сценарий. Зачем клиент откроет значок: повторный заказ, запись, статус. Если сценария нет, значок никому не нужен.
- Проверьте сайт. Убедитесь, что есть HTTPS, удобная мобильная версия и быстрая загрузка.
- Сделайте манифест и значки. Название, короткое название, цвета, значки 192 и 512 пикселей, режим
standalone. - Подключите service worker. Решите, какие страницы и данные хранить и что показывать без сети.
- Настройте пуш. Разрешение просите только после действия клиента, например после заказа, и договоритесь, какие сообщения будете отправлять.
- Покажите инструкцию установки. На Android поможет своя кнопка, на iPhone нужна короткая подсказка с картинкой про меню «Поделиться».
- Проверьте на устройствах. Минимальный набор: Chrome на Android, Safari на iPhone, Яндекс Браузер, Chrome на компьютере.
- Настройте аналитику. Считайте установки, повторные визиты, заказы из установленной версии.
- Запустите на части клиентов. Покажите предложение постоянным покупателям, посмотрите, ставят ли они значок.
Поскольку обновления приходят сами, тестировать каждое изменение стоит до выкладки. Если сломать кэш, часть клиентов может зависнуть на старой версии, поэтому в service worker заранее нужен понятный механизм обновления.
Как понять, что PWA приносит пользу бизнесу
Польза PWA измеряется повторными заказами от людей, которые поставили значок, а число установок само по себе денег не приносит. Поэтому до запуска договоритесь, какие показатели будете смотреть, и настройте их в аналитике.
| Показатель | Как считать | О чём говорит |
|---|---|---|
| Доля установок | Установки разделить на активных клиентов | Понятно ли людям, зачем нужен значок |
| Повторные заказы | Заказы из установленной версии за месяц | Приносит ли формат деньги |
| Подписки на пуш | Разрешения разделить на показы запроса | Удачно ли выбран момент для вопроса |
| Отписки от пуша | Отключения за месяц | Не слишком ли часто вы пишете |
| Ошибки без сети | Сбои при отправке заказа | Правильно ли настроен офлайн |
Если через два-три месяца значок почти никто не ставит, это полезный результат. Значит, клиенту хватает обычного сайта, и деньги на нативное приложение тратить тем более рано. Вы потратили небольшую сумму и проверили спрос на настоящих клиентах.
Можно ли опубликовать PWA в магазине приложений
Опубликовать PWA в магазине приложений можно, но для этого его упаковывают в оболочку, само оно в каталоги не попадает. Google описывает Trusted Web Activity, способ открыть веб-приложение внутри Android-приложения, а web.dev перечисляет также Microsoft Store, Samsung Galaxy Store и другие каталоги. Для сборки применяют инструменты Bubblewrap и PWA Builder.
С App Store история строже. Правило 4.2 Apple требует, чтобы приложение давало больше, чем упакованный сайт. Оболочка без полезных функций рискует не пройти проверку, поэтому на это нельзя рассчитывать как на дешёвый способ попасть в магазин.
Какие проблемы бывают с PWA: что видите и что делать
Чаще всего проблемы с PWA связаны с установкой на iPhone и с обновлением кэша. Таблица помогает быстро найти причину.
| Что видите | Что это значит | Что делать |
|---|---|---|
| Кнопки установки нет на Android | Браузер не видит манифест или значки | Проверить поля манифеста и HTTPS |
| Значок поставили, а открывается браузер | Создан ярлык, а не установка | Проверить браузер: WebAPK есть только в Chrome с сервисами Google и Samsung Internet |
| На iPhone никто не ставит значок | Нет подсказки про меню «Поделиться» | Добавить инструкцию в личном кабинете |
| Пуш не приходит на iPhone | Значок не поставлен или нет разрешения | Запрашивать разрешение из установленной версии по нажатию |
| После обновления сайта клиенты видят старое | Застрял кэш service worker | Настроить версии кэша и обновление |
| Данные пропали с телефона | Браузер очистил хранилище | Хранить важное на сервере |
| Установок мало | Нет повода поставить значок | Предложить установку после заказа, а не на входе |
Мифы и ошибки про PWA
«PWA полностью заменит мобильное приложение». Заменит там, где хватает экрана и уведомлений. Bluetooth на iPhone и глубокая работа с системой остаются за нативным приложением.
«На iPhone PWA не работают». Это устаревшее представление. С iOS 16.4 доступны пуш-уведомления и значок со счётчиком, но установку человек делает сам, и окно установки с сайта вызвать нельзя.
«Service worker обязателен для установки». MDN прямо указывает, что для установки он не требуется, но он нужен для офлайна и пуша.
«Клиенты сами найдут установку». Многие люди о такой функции не знают. Предлагать её надо в момент, когда значок полезен: после заказа, после записи, при входе в кабинет.
«Пуш можно слать сколько угодно». MDN советует использовать его для срочных событий. Человек быстро отключит уведомления, если получает рекламу каждый день.
«PWA ускорит плохой сайт». Кэш помогает повторным визитам, а тяжёлые картинки и лишние скрипты всё равно придётся чинить.
Если хотите понять, стоит ли вашему бизнесу вкладываться в приложение или достаточно улучшить сайт, оставьте заявку. Мы посмотрим текущий проект и посчитаем варианты.
Частые вопросы
Что значит PWA?
PWA расшифровывается как Progressive Web App, прогрессивное веб-приложение. Это сайт, который можно установить на устройство и использовать как приложение. Он открывается в отдельном окне и может работать без сети.
Чем PWA отличается от обычного сайта?
У PWA есть манифест и обычно service worker, поэтому его можно поставить на экран, открывать без адресной строки, использовать при плохой сети и получать уведомления. Обычный сайт живёт только во вкладке браузера. При этом PWA остаётся сайтом с адресом и индексируется поисковиками.
Как установить PWA на iPhone?
Откройте сайт в Safari или другом поддерживаемом браузере, нажмите «Поделиться» и выберите «На экран Домой». После подтверждения названия на экране появится значок. С iOS 16.4 это работает в Safari, Chrome, Edge, Firefox и Orion.
Работают ли пуш-уведомления в PWA на iPhone?
Работают с iOS 16.4, но только если сайт добавлен на экран как веб-приложение и разрешение запрошено по нажатию. Из обычной вкладки браузера подписать iPhone не получится.
Нужно ли размещать PWA в App Store или Google Play?
Не нужно: PWA устанавливается прямо с сайта. Публикация возможна через оболочку, но это отдельная работа. Для App Store оболочка должна давать больше, чем упакованный сайт.
Можно ли принимать оплату в PWA?
Да, в PWA работает та же оплата, что и на сайте: платёжная форма, ссылка или СБП. Комиссию магазина приложений здесь платить не надо, потому что платёж идёт через ваш сайт. Перед запуском проверьте, как возвращается человек после оплаты в установленную версию.
Будет ли PWA работать без интернета?
Будет, если разработчик заранее настроил сохранение страниц и данных. Без настройки установленный сайт покажет ошибку сети. Заказы в офлайне обычно сохраняют и отправляют при появлении связи, поддержка фоновой отправки зависит от браузера.




