Что такое PWA-приложение и когда оно выгоднее мобильного
PWA-приложение (Progressive Web App, прогрессивное веб-приложение) — это сайт, который умеет вести себя как мобильное приложение: ставится иконкой на экран смартфона, открывается в отдельном окне без адресной строки, работает при плохой связи и присылает push-уведомления. Скачивать его из App Store или Google Play не нужно — установка идёт прямо из браузера. Разберём, как PWA устроено, что оно умеет в 2026 году на Android и iPhone, где проигрывает нативному приложению и в каких случаях бизнесу выгоднее выбрать именно его.
Что такое PWA простыми словами
Обычный сайт живёт во вкладке браузера и «умирает», как только пропадает интернет. PWA — тот же сайт, к которому добавили три технических слоя. Благодаря им браузер понимает: «это можно установить как приложение». Пользователь нажимает «Установить» или «На экран „Домой“», и на рабочем столе появляется иконка. При запуске нет адресной строки и вкладок — визуально это не отличить от приложения из магазина.
Термин предложили в Google в 2015 году. Сейчас PWA поддерживают все основные браузеры: Chrome, Яндекс Браузер, Edge, Samsung Internet и Safari на iPhone. Различаются они глубиной поддержки — об этом ниже.
Как работает PWA: manifest, service worker и HTTPS
Чтобы сайт стал прогрессивным веб-приложением, нужны три компонента.
Web App Manifest
JSON-файл с «паспортом» приложения: название и короткое имя под иконкой (name, short_name), набор иконок (обычно 192 и 512 пикселей), стартовая страница (start_url), режим отображения (display: standalone убирает интерфейс браузера), цвета панели и заставки. По манифесту браузер решает, можно ли предложить установку, и рисует ярлык.
Service worker
Скрипт, который работает в фоне отдельно от страницы и перехватывает сетевые запросы. Именно он отвечает за:
- кэширование интерфейса и данных — приложение открывается мгновенно и без сети;
- приём push-уведомлений, даже когда приложение закрыто;
- фоновую синхронизацию — например, отправку заказа, оформленного в метро, когда связь вернётся (пока только в браузерах на Chromium).
HTTPS
Service worker работает только на защищённом соединении. Без SSL-сертификата ни установка, ни push, ни офлайн недоступны.
Всё остальное — интерфейс, личный кабинет, каталог, оплата — обычное веб-приложение на React, Vue или другом фреймворке. Поэтому PWA естественно делать в рамках разработки веб-приложения, а не как отдельный проект.
Как установить PWA на Android и iPhone
- Android (Chrome, Яндекс Браузер, Samsung Internet): браузер сам показывает предложение установить приложение, а сайт может вывести свою кнопку «Установить». После установки PWA появляется в списке приложений, как обычное.
- iPhone и iPad (Safari и другие браузеры): кнопки установки в один клик нет. Пользователь нажимает «Поделиться» → «На экран „Домой“». С iOS 16.4 этот пункт появился и в сторонних браузерах, а с iOS 26 любой сайт, добавленный на экран, по умолчанию открывается как веб-приложение.
- Компьютер (Chrome, Edge, Яндекс Браузер): значок установки в адресной строке, приложение открывается в отдельном окне.
Что умеет PWA в 2026 году и чего не умеет
Возможности PWA зависят от браузера. Chromium-браузеры на Android дают почти всё, Safari на iOS — заметно меньше.
| Возможность | Android (Chrome и аналоги) | iPhone (Safari) |
|---|---|---|
| Установка иконкой на экран | Да, есть кнопка установки | Да, вручную через «Поделиться» |
| Офлайн-режим и кэш | Да | Да |
| Push-уведомления | Да, и из вкладки, и из установленного | С iOS 16.4, только для установленного на экран |
| Счётчик на иконке (badge) | Через уведомления (Badging API в Chrome — только на компьютере) | Да, с iOS 16.4 |
| Камера, микрофон, геолокация | Да | Да |
| Вход по Face ID / отпечатку (passkeys) | Да | Да |
| Фоновая синхронизация | Да | Нет |
| Bluetooth, NFC, USB | Частично (Web Bluetooth, Web NFC) | Нет |
| Контакты, календарь, SMS, виджеты | Очень ограниченно | Нет |
Отдельный нюанс iOS: Safari может удалить данные сайта, с которым пользователь не взаимодействовал 7 дней использования браузера (механизм ITP). На веб-приложения, добавленные на экран «Домой», это ограничение не распространяется. Это ещё одна причина добиваться установки, а не просто закладки.
PWA в России: ответ на ограничения App Store и Google Play
После 2022 года часть российских приложений исчезла из App Store, а публикация и приём платежей в Google Play для российских компаний усложнились. PWA стало легальным способом остаться на экране смартфона клиента без модерации магазина.
Проверяемый пример — Совкомбанк. Его приложения «Халва» и «Совкомбанк Бизнес» недоступны в App Store, и банк отправляет владельцев iPhone на pwa.sovcombank.ru: там веб-версия, которую ставят иконкой на экран. Ради того же многие сервисы делают PWA вторым каналом рядом с RuStore. Это страховка на случай, если приложение снимут из стора или не пропустят обновление.
Для B2B и внутренних инструментов (кабинет дилера, приложение выездного сотрудника, CRM-интерфейс для менеджеров) PWA часто оказывается основным форматом. Сотрудникам можно просто дать ссылку, без аккаунтов разработчика и корпоративного распространения через сторы.
Можно ли опубликовать PWA в RuStore, Google Play и App Store
Да, но через обёртку, и у каждого магазина свои условия.
- Google Play — Trusted Web Activity (TWA). Официальный механизм Google: PWA упаковывается в Android-приложение (AAB) и открывается внутри Chrome на весь экран. Домен подтверждается файлом
assetlinks.json. Проект собирают утилитой Bubblewrap или сервисом PWABuilder. Сайт должен отвечать критериям PWA (манифест, service worker, HTTPS) и политикам Play. - RuStore. Принимает Android-сборки, в том числе TWA. Но модерация проверяет, что это самостоятельный продукт. Разработчик, описавший опыт на Хабре, получил четыре отказа TWA-сборки подряд: сначала замечания вызывали служебные элементы Chrome (диалог сохранения пароля, пункт «Настройки сайта»), последний отказ — с формулировкой «обёртка над сайтом». Модерацию приложение прошло только после переписывания обёртки на Capacitor.
- App Store. Apple отклоняет приложения, которые просто повторяют сайт (правило минимальной функциональности 4.2). Нужна гибридная сборка с нативными возможностями, и это уже ближе к кроссплатформенной разработке.
PWA, нативное приложение или мобильный сайт: сравнение
| Критерий | Мобильный сайт | PWA | Нативное / кроссплатформенное приложение |
|---|---|---|---|
| Установка | Не нужна | Из браузера, без магазина | Через App Store, Google Play, RuStore |
| Иконка на экране и push | Нет | Да (на iOS — после установки) | Да |
| Офлайн | Нет | Да, в заданных сценариях | Да, полностью |
| Доступ к функциям телефона | Минимальный | Камера, гео, биометрия; без Bluetooth на iOS | Полный |
| Обновления | Мгновенно | Мгновенно, без модерации | Через релиз и модерацию стора |
| Индексация в Яндексе и Google | Да | Да, это тот же сайт | Нет (только карточка в сторе) |
| Кодовая база | Одна | Одна с сайтом | Отдельная от сайта |
Как выбирать между Flutter, React Native и нативом, если PWA всё-таки не хватит, разобрано в статье о выборе технологии мобильного приложения. Общая логика выбора между приложением и сайтом — в материале «Мобильное приложение или мобильная версия сайта».
SEO и PWA: как индексируется прогрессивное приложение
У PWA есть важное преимущество перед приложением из стора: это обычный сайт с URL-адресами, и поисковики индексируют его как сайт. Каждая карточка товара, статья или страница услуги может приводить трафик из Яндекса и Google. Service worker на индексацию не влияет — робот его не использует.
Риск в другом: PWA часто делают одностраничным приложением (SPA), где контент рисуется в браузере скриптами. Google такие страницы обычно дорендерит, а с Яндексом возможны проблемы. Для публичных страниц нужен серверный рендеринг (SSR) или пререндер — например, на Next.js. Личный кабинет индексировать не нужно, там SPA не мешает.
Плюс PWA для SEO — скорость: кэш service worker ускоряет повторные визиты и помогает с Core Web Vitals.
Сколько стоит PWA-приложение и от чего зависит цена
Отдельной «цены на PWA» не бывает — всё зависит от исходной точки.
- PWA-слой к готовому быстрому адаптивному сайту — манифест, иконки, service worker с продуманной стратегией кэша, push, инструкция по установке для iOS. Это доработка, её оценивают по объёму: сколько сценариев должно работать офлайн, нужна ли серверная часть для рассылки push.
- Новый продукт в формате PWA — личный кабинет, сервис, B2B-портал. Считается как веб-приложение. По нашим ориентирам MVP и простые кабинеты — от 900 000 ₽ и от 1,5 месяцев, нагруженные системы — от 3 000 000 ₽ и от 6 месяцев.
Для сравнения: разработка мобильного приложения на кроссплатформе стартует от 400 000 ₽ за MVP. Приложение средней сложности с сервером, оплатой и push — от 1 500 000 ₽ и 3–5 месяцев. Но к нему почти всегда нужен ещё и сайт, а это вторая кодовая база, аккаунты разработчика и релизы через модерацию трёх магазинов. Итоговая цена зависит от логики, интеграций (1С, ЮKassa, CRM) и дизайна. Точную смету дают после аналитики.
Экономия PWA — в совокупной стоимости владения: один продукт вместо сайта и двух приложений. В опубликованном на Хабре кейсе SaaS-платформы предварительная смета на PWA составила 3,3 млн ₽ против 7,7 млн ₽ на мобильное приложение по тому же ТЗ. Подробнее о бюджетах приложений — в статье как создать мобильное приложение для бизнеса.
Когда PWA выгоднее мобильного приложения, а когда не подходит
PWA выгоднее, если
- продукт уже живёт в вебе, а мобильная аудитория хочет иконку, push и быстрый вход;
- приложение сняли из App Store или вы не хотите зависеть от модерации;
- это B2B-кабинет или внутренний инструмент, который раздают по ссылке;
- важен поисковый трафик на каталог и контент;
- нужно быстро проверить гипотезу до вложений в нативную разработку.
PWA не подходит, если
- нужны Bluetooth, NFC, фоновая геолокация, работа с файлами устройства на iOS;
- основная аудитория на iPhone, а push — ключевой канал удержания: до установки на экран их не отправить;
- продукт — игра или приложение с тяжёлой графикой;
- для доверия и привлечения критично присутствие в магазинах приложений.
Типичные ошибки при создании PWA
- Делать PWA из медленного сайта. Service worker ускоряет повторные визиты, но первый заход и тормозящий интерфейс не лечит.
- Кэшировать всё подряд. Неудачная стратегия кэша показывает пользователю старые цены и остатки или ломает приложение после релиза. Статику и данные кэшируют по-разному.
- Забыть про обновление service worker. Без механизма обновления часть аудитории неделями сидит на старой версии.
- Не объяснить установку на iOS. Без инструкции PWA на iPhone остаётся закладкой, и push не работает.
- Запросить разрешение на push при первом входе. Отказ почти гарантирован. Просить стоит после ценного действия: оформили заказ — предложите уведомлять о статусе.
- Рассчитывать на TWA как на гарантированный путь в RuStore. Чистую обёртку сайта модерация может не пропустить.
- Отдавать публичные страницы без SSR и терять индексацию в Яндексе.
Чек-лист: готово ли ваше PWA к запуску
- Сайт работает по HTTPS, мобильная версия быстрая и удобная.
- Есть manifest: название, короткое имя, иконки 192 и 512 px,
start_url,display: standalone, цвета. - Service worker кэширует оболочку приложения, стратегии для статики и данных разделены.
- Есть офлайн-страница и понятное поведение без сети в ключевых сценариях.
- Продуман механизм обновления версии.
- Push запрашивается в правильный момент, настроена серверная отправка.
- Для iPhone есть инструкция «На экран „Домой“».
- Публичные страницы отдаются с серверным рендерингом и индексируются.
- Проверено на реальных Android и iPhone, в Chrome, Яндекс Браузере и Safari.
- Если нужен стор — выбран путь: TWA для Google Play, нативные экраны для RuStore, гибрид для App Store.
PWA-приложение — это сайт с возможностями приложения: иконка на экране, офлайн, push, камера и геолокация, без магазинов и их модерации. В России в 2026 году это рабочий ответ на уход из App Store и способ получить мобильный канал без второй кодовой базы. Ограничения тоже реальные: урезанный iOS, отсутствие Bluetooth и NFC в Safari, ручная установка на iPhone. Если продукт укладывается в возможности браузера — начинайте с PWA. Если нужен полный доступ к устройству или присутствие во всех сторах — закладывайте мобильное приложение, а PWA оставьте вторым каналом.
