Современные прогрессивные веб-приложения (PWA) могут работать в автономном режиме, отправлять push-уведомления и загружаться так быстро, что почти предугадывают ваши желания, пишет на портале The New Stack Александр Уильямс, разработчик полного стека и независимый ИТ-консультант.
Помните, как веб-приложения были неуклюжими «тормозами» до того, как вы получили «настоящие» приложения из App Store? Теперь это уже не так. Современные PWA могут работать в автономном режиме, отправлять push-уведомления и загружаться так быстро, что почти предугадывают ваши желания.
Некоторые компании уже полностью отказываются от нативных приложений, обнаружив, что PWA не только оправдывают ожидания пользователей, но и сокращают расходы на обслуживание, унифицируют технологические стеки и повышают вовлеченность. Итак, готовы ли мы наконец к тому, что PWA займут центральное место?
Браузер повзрослел
Одна из причин, по которой PWA казались компромиссом в прошлом, заключалась в отсутствии браузерной поддержки. Но все это уже позади. Сегодня все основные браузеры поддерживают service workers (скрипты, которые браузер запускает в фоновом режиме, отдельно от веб-страницы) — важный компонент, обеспечивающий возможность работы в автономном режиме, фоновую синхронизацию и push-уведомления. Благодаря таким API, как Cache Storage, IndexedDB и Fetch API, которые теперь стандартизированы и широко распространены, работа с PWA может стать по-настоящему нативной.
Возьмем, к примеру, потоковый контент. С помощью Streams API разработчики могут начать рендеринг страницы еще во время ее загрузки, что значительно сокращает время интерактивного взаимодействия (Time to Interactive, TTI). Соедините это с «ленивой» загрузкой и возможностью контроля кэша на уровне отдельных элементов, и вы получите опыт, который покажется мгновенным — особенно при повторных посещениях.
Что касается фоновой синхронизации, то это мощный невидимый инструмент. Пользователям не нужно сидеть и ждать, пока загрузятся файлы или отправятся сообщения. Благодаря периодической фоновой синхронизации ваш PWA может спокойно выполнять эти задачи, даже когда пользователь находится в автономном режиме или переключает вкладки.
Уравнение стоимости: одна кодовая база для всех
С точки зрения бизнеса, одно из самых больших преимуществ PWA — это простота. Вместо того чтобы поддерживать отдельные кодовые базы для iOS, Android и веб-версии, вы создаете и поддерживаете одну кодовую базу. Это означает меньшую команду разработчиков, меньшее количество ошибок и более тесную обратную связь. Для сайтов электронной коммерции или любых брендов, занимающихся омниканальным ритейлом, обновление товаров, проведение акций и извлечение данных значительно упрощается.
Обновления также происходят быстрее и более контролируемо. Вы не ждете одобрения App Store для каждого релиза. Вы отправляете релиз, и в следующий раз, когда пользователь загружает PWA, он уже обновлен. Такая оперативность неоценима для команд, работающих на быстро меняющихся рынках, или для тех, кто активно проводит A/B-тестирование.
А еще есть SEO. В отличие от нативных приложений, PWA живут в Интернете, а это значит, что они доступны для сканирования и индексации. Это важно, особенно для платформ с большим количеством контента, сайтов электронной коммерции и медиа-брендов, которые хотят, чтобы их продукт был легко обнаруживаемым.
Сдвиги в реальном мире: замена нативных приложений
В 2017 г. Pinterest произвел фурор, выпустив PWA и показав, как резко выросли основные показатели вовлеченности. Время, проведенное на сайте, увеличилось на 40%, а доход от рекламы, генерируемой пользователями, вырос более чем на 44%. Flipkart Lite, еще один хорошо задокументированный пример, вдвое сократил количество отказов и втрое увеличил время пребывания на сайте.
Эти примеры показывают, что при правильной реализации PWA могут выполнять тяжелую работу, которая раньше была уделом нативных продуктов. Что еще более важно, они подчеркивают, что пользователям не важна платформа, лишь бы работа была беспроблемной.
Небольшие команды тоже выиграли от PWA. Стартапы с ограниченным бюджетом, которым раньше приходилось выбирать между разработкой под Android и iOS, теперь могут создать один высокопроизводительный PWA. Это означает более быстрое развертывание, более простые циклы QA и гораздо меньше головной боли, связанной с платформой.
Где PWA выигрывают (и где не выигрывают)
Есть очевидные сценарии, в которых PWA выигрывают. Если ваши пользователи работают в условиях низкого качества связи, PWA могут кэшировать целые рабочие процессы и активы для использования в автономном режиме. Речь идет, например, о работниках выездных служб, торговых представителях на выезде или студентах с прерывистым Wi-Fi. В сочетании с Web App Manifest для установки на главный экран вы получаете нечто, похожее на приложение — но без контроля со стороны App Store.
PWA также являются лидерами по удержанию и повторному привлечению пользователей. Push-уведомления могут подтолкнуть пользователей вернуться в вашу среду, как и в нативных приложениях. Добавьте к этому фоновую синхронизацию для обработки обновлений или доставки нового контента, и вы устраните трения на каждом шагу. Это особенно полезно для локализации, когда каждый регион получает разные уведомления.
Однако есть и ограничения. PWA не могут в полной мере использовать специфические для конкретной платформы API — например, для Bluetooth, NFC или биометрической аутентификации — с той же глубиной, что и нативные приложения. Если ваше приложение зависит от них или вы работаете в вертикали, где применение App Store не подлежит обсуждению, возможно, нативные приложения все же будут правильным выбором. Кроме того, несмотря на то, что iOS добилась успехов в поддержке PWA, некоторые функции все еще отстают от аналогов для Android, особенно в части фоновых задач и поддержки уведомлений.
Подход к принятию решений
Прежде чем погрузиться в разработку PWA, задайте себе несколько непростых вопросов:
- Нужен ли вашим пользователям автономный доступ? Если предполагается, что ваш продукт будет использоваться в местах с нестабильным или отсутствующим подключением к Интернету, возможности офлайн-доступа могут стать ключевыми — и PWA могут их обеспечить. Это особенно актуально для пользователей, находящихся в пути, в полевых условиях или в регионах с непостоянным подключением.
- Помогут ли push-уведомления вашей стратегии вовлечения или нет? Если своевременное повторное привлечение пользователей имеет решающее значение, как, например, в электронной коммерции, социальных приложениях или новостных платформах, то push-уведомления могут стать решающим фактором обеспечения высокого уровня удержания вместо тихого оттока. PWA могут предлагать их на Android и, в меньшей степени, на iOS, поэтому здесь важна платформа.
- Можете ли вы предоставить свою основную функциональность без глубоких нативных интеграций? PWA теперь могут охватывать широкий спектр функций, но они все еще не могут заменить глубокие интеграции на уровне ОС. Если ваш продукт сильно зависит от таких вещей, как нативные платежи, API камеры или Bluetooth, нативный вариант может быть более надежным выбором.
- Является ли видимость в App Store обязательным условием, или ваша маркетинговая стратегия может процветать в открытом Интернете? Если видимость в App Store способствует привлечению значительного числа пользователей для вашего бренда, отказ от нативных продуктов может стоить вам популярности. Но если ваша аудитория ориентирована на веб, и SEO играет важную роль в вашей стратегии, PWA может открыть новые пути для роста.
Если ваши ответы склоняются в сторону гибкости и независимости от платформы, то PWA — это то, что вам нужно.
При этом не стоит сразу же переходить на PWA. Многие команды начинают с создания надежного веб-приложения, а затем постепенно дополняют его рабочими службами и другими функциями PWA. Это позволит вам проверить соответствие продукта рынку и UX, прежде чем приступать к дальнейшим действиям.
Готовы к прыжку?
Прогрессивные веб-приложения — это уже не просто модный термин, это жизнеспособная, а зачастую и лучшая альтернатива нативной разработке. Экосистема готова. Инструментарий надежен. А ожидания пользователей уже устоялись. Если вы хотите достичь успеха, не жертвуя полировкой, и быть гибким, не фрагментируя свою кодовую базу, PWA заслуживает места в вашей дорожной карте.
Мы находимся на пороге того момента, когда веб перестанет играть вторую скрипку по сравнению с магазинами приложений. Остается только один вопрос: готовы ли вы к этому?