Содержание11
- Когда PWA закрывает роль мобильного приложения
- Чем PWA отличается от сайта и нативного приложения
- Что нужно для PWA
- Какие поля манифеста и иконки проверить
- Офлайн, кэш и push-уведомления
- Как установить PWA на Android, iOS и Windows
- Чек-лист PWA для магазина и сайта услуг
- Как PWA сочетается с SEO, CRM, GEO и 152-ФЗ
- Сколько стоит PWA и когда нужен натив
- Частые вопросы
- Источники
PWA — сайт, который можно добавить на домашний экран и использовать как приложение. Для каталога, записи или магазина с повторными заказами этого часто достаточно. Нативная разработка подходит, когда продукту нужна витрина магазинов приложений или возможности телефона, которых веб не предоставляет.
Когда PWA закрывает роль мобильного приложения
PWA подходит бизнесу, если клиентам важно быстро открыть каталог, записаться или повторить заказ, а сам продукт не зависит от публикации в магазине приложений. Человек запускает сайт с домашнего экрана, а владелец обновляет одну веб-версию. Для магазина это способ упростить повторный визит, но не заменить сервер и платёжную систему.
Например, покупатель может открыть карточку товара и посмотреть доступные способы получения. Геолокацию браузер может запросить во время работы страницы, если пользователь разрешит доступ. Такие сценарии подходят для витрины и записи; они не дают веб-сайту тех же возможностей, что приложение с доступом к функциям операционной системы.
| Задача бизнеса | Подойдёт PWA | Рассмотрите натив |
|---|---|---|
| Каталог, запись, повторный заказ | Да | Не обязательно |
| Поиск бизнеса в магазинах приложений | Нет | Да |
| Использование функций телефона, недоступных вебу | Может не подойти | Да |
| Работа сайта без сети | Для заранее выбранных экранов | Если нужен отдельный офлайн-сценарий |
Для сайта услуг или магазина, куда клиенты приходят из поиска и по прямой ссылке, я бы начал с PWA. Если основная точка входа — поиск приложения в App Store или Google Play, этот вариант не решает задачу.
Чем PWA отличается от сайта и нативного приложения
PWA использует веб-сайт, но добавляет возможности вроде запуска с домашнего экрана и работы с кэшем. Обычный сайт проще в поддержке, если клиенту достаточно открыть страницу в браузере. Нативное приложение даёт отдельный канал распространения и доступ к функциям платформы. Выбирайте по пользовательскому сценарию, а не по числу функций в сравнительной таблице.
| Критерий | Обычный сайт | PWA | Нативное приложение |
|---|---|---|---|
| Запуск | В браузере | В браузере или с домашнего экрана | Из магазина или с домашнего экрана |
| Работа без сети | Зависит от реализации | Возможна для выбранных экранов | Зависит от реализации |
| Push-уведомления | Зависит от браузера и платформы | Зависит от браузера и платформы | Зависит от платформы |
| Доступ к функциям телефона | В пределах Web API | В пределах Web API | В пределах API операционной системы |
| Публикация в магазинах | Нет | Не сама по себе | Да |
| Обновление | На сервере | На сервере с учётом кэша | Через механизм распространения приложения |
Для визитки и каталога начните с сайта. Для магазина с повторными покупками рассмотрите PWA, если пользователям удобно возвращаться с домашнего экрана. Нативная разработка уместна, когда канал в магазинах приложений или нужные функции телефона входят в требования продукта.
Что нужно для PWA
Для PWA обычно настраивают HTTPS, Web App Manifest и service worker. Манифест описывает имя и параметры запуска, а service worker помогает управлять сетевыми запросами и кэшем. Само наличие этих компонентов не гарантирует одинаковую установку во всех браузерах: поведение зависит от платформы и её условий.
Service worker может обслуживать запросы из кэша, когда сеть недоступна. Его область действия влияет на то, какие страницы он контролирует. Если разместить его только в подпапке, страницы за её пределами могут не попасть под его управление.
App Shell — подход, при котором браузер загружает оболочку интерфейса отдельно от данных. Так можно показать навигацию, а затем запросить цены и остатки с сервера. Для магазина важно проверить, какие экраны действительно должны работать без сети и как обновляется сохранённое содержимое.
Какие поля манифеста и иконки проверить
Манифест задаёт браузеру сведения о веб-приложении: название, адрес запуска, режим отображения и иконки. При приёмке проверьте, что эти настройки соответствуют сценарию сайта и работают на нужных устройствах. Требования к установке и отображению могут различаться между браузерами, поэтому проверьте результат на целевых платформах.
В манифесте обычно настраивают:
name— полное название приложения.short_name— короткое название, если места мало.start_url— адрес, который откроется при запуске.display— режим отображения веб-приложения.icons— иконки для подходящих размеров и способов отображения.theme_color— цвет интерфейса браузера, если платформа его использует.shortcutsиscreenshots— дополнительные сведения, если их поддерживает целевая платформа.
Попросите подрядчика показать запуск на устройствах заказчика, а не только результат автоматического аудита. Так проще заметить неподходящую иконку, неверный адрес старта или неожиданное поведение кэша.
Офлайн, кэш и push-уведомления
В интернет-магазине без сети можно показать заранее сохранённые страницы, но нельзя подтвердить актуальные остатки или завершить серверную оплату. Честный офлайн-сценарий — доступ к выбранным данным и понятное сообщение о том, что заказ не отправлен. Если покупателю нужно оформить заказ при нестабильной связи, отдельно спроектируйте сохранение черновика и проверку данных после восстановления соединения.
Для часто меняющихся цен и наличия разумно запрашивать свежие данные с сервера. Статичные страницы и элементы интерфейса можно кэшировать, если продуманы обновление и очистка старых версий. Ошибка в стратегии кэширования приводит к тому, что клиент видит устаревшую корзину или страницу.
Push зависит от поддержки браузера и настроек платформы. Перед внедрением проверьте целевые устройства и решите, какие сообщения действительно нужны клиентам. Уведомления о статусе заказа отделите от рекламных предложений и предусмотрите понятный способ отключить сообщения.
Как установить PWA на Android, iOS и Windows
Способ установки зависит от браузера и операционной системы. На Android браузер может предложить установку или добавить соответствующий пункт в меню. На iPhone пользователь может добавить сайт на домашний экран через меню браузера. На Windows доступность установки зависит от браузера и настроек сайта. Перед запуском проверьте сценарий на тех устройствах, которыми пользуется ваша аудитория.
| Возможность | Android | iOS | Windows |
|---|---|---|---|
| Добавление на домашний экран | Зависит от браузера и сайта | Через меню браузера | Зависит от браузера |
| Push | Зависит от браузера и настроек | Зависит от версии системы и браузера | Зависит от браузера |
| Работа в фоне | Ограничена платформой | Ограничена платформой | Ограничена платформой |
Не обещайте клиенту на iPhone поведение, проверенное только на Android. Откройте сайт на целевой версии системы и проверьте установку, уведомления и возврат из фона. Если сценарий требует постоянной фоновой работы, PWA может не подойти.
Чек-лист PWA для магазина и сайта услуг
Перед приёмкой проверьте не только установку, но и поведение сайта при плохой связи. Для магазина особенно важны актуальность корзины и честное сообщение при недоступности сервера. Если функции телефона входят в требования, оцените их отдельно: наличие PWA не означает, что веб получит полный доступ к возможностям устройства.
На сайте на 1С-Битрикс с офлайн-режимом и push проверьте, как service worker взаимодействует с CMS и CDN: кэширование может повлиять на обновление страниц. Если заказ зависит от NFC, глубокой интеграции с контактами или фоновой работы, включите эту потребность в техническое задание до выбора технологии.
Как PWA сочетается с SEO, CRM, GEO и 152-ФЗ
PWA остаётся веб-сайтом, поэтому для SEO важны доступность страниц, их содержимое и корректная индексация. Манифест сам по себе не заменяет контент страницы. Проверьте, что поисковый робот получает ту же полезную информацию о товарах и услугах, что и посетитель.
Service worker не должен мешать загрузке содержимого и обновлению страниц. CRM можно связать с уведомлениями о заказах, если сценарий поддерживают выбранные браузеры. Геолокацию запрашивайте на странице, где она нужна, например для построения маршрута; не обещайте постоянное отслеживание в фоне.
Push — технический способ доставки уведомления, но он сам по себе не определяет, какие юридические требования применимы к конкретной рассылке. В этой статье нет подтверждённого первоисточника для юридических выводов о согласиях и требованиях 152-ФЗ, поэтому такие выводы нужно проверять отдельно перед запуском уведомлений.
Для продвижения локальной точки обычно достаточно показать адрес и предложить пользователю открыть маршрут. Если продукт требует фонового отслеживания маршрута, веб-сценарий может не подойти.
Сколько стоит PWA и когда нужен натив
Стоимость PWA зависит от состояния сайта, CMS, чекаута, интеграций и выбранных офлайн-сценариев. Без аудита назвать точную сумму или срок нельзя. Сначала выясните, какие страницы должны работать без сети, как обновляются данные и какие уведомления нужны. Затем можно оценить объём работ по манифесту, кэшу, интеграциям и проверке на устройствах.
Типовой порядок работ включает аудит сайта, настройку манифеста и иконок, реализацию выбранного офлайн-сценария, интеграцию уведомлений и приёмку. Упаковка PWA для магазина приложений — отдельная задача; её возможность и условия нужно проверять для конкретного магазина и продукта.
| Вариант | Когда рассматривать | Что проверить |
|---|---|---|
| PWA на готовом сайте | Нужен быстрый возврат клиентов к сайту | Состояние сайта, кэш и целевые устройства |
| Нативное приложение | Нужна публикация в магазинах или функции платформы | Требования к магазинам и доступ к нужным API |
| Упаковка веб-приложения для магазина | Нужен дополнительный канал распространения | Требования выбранного магазина и сценарий приложения |
Для каталога, услуг и магазина, клиенты которого возвращаются с сайта, начните с оценки PWA. Если аудитория ищет продукт именно в магазинах приложений или требования включают недоступную вебу функцию, сразу оцените нативную разработку. На медленном сайте с проблемным оформлением заказа PWA не исправит саму витрину: сначала разберитесь с сайтом. Если проекта ещё нет, начните с разработки сайта, а установку на домашний экран добавьте, когда станет понятен пользовательский сценарий.
Источники
- Progressive web apps — MDN Web Docs
- Service Worker API — MDN Web Docs
- Progressive web app Lighthouse audit — Google Chrome Developers