Progressive Web Applications: когда разница между сайтом и приложением исчезает

Хотя использование PWA – тема уже не такая новая и в современных реалиях очень актуальная, материалов об этом в Рунете, мягко говоря, недостаточно. В то время как в Европе термин Progressive Web Applications очень популярен, в российских источникам информацию о нем придется поискать. Например, меня очень удивило то, что на момент написания этой статьи в Википедии попросту отсутствовала русскоязычная статья на эту тему.

Так давайте попробуем разобраться, что представляют собой эти самые «продвинутые веб-приложения», чем они такие продвинутые, кому это нужно и чем это может помочь именно вашему бизнесу.

Что такое PWA?

PWA, или Progressive Web Application – это обычный сайт, который может устанавливаться на телефон как приложение и, как следствие, имеет доступ к таким данным об устройстве как уровень заряда батареи, положение в пространстве, может осуществлять вибровызовы. А главное – он может работать офлайн.

Зачем нужны PWA? Из-за чего сыр-бор?

Чтобы ответить на этот вопрос, на деле нужно ответить на два смежных: во-первых, что такого умеют PWA, чего не умеют приложения на телефоне, и во-вторых, что умеют PWA, чего не умеют обычные сайты.

По сравнению с обычным сайтом, PWA обладают следующими преимуществами:

  • Вы даете возможность пользователю запомнить свой сайт. Согласитесь, разница между закладкой в браузере и иконкой на рабочем столе телефона очевидна.
  • Клиент может сформировать заказ, даже когда находится офлайн. А когда он будет онлайн, этот заказ будет отправлен в магазин. То есть у нас есть возможность получить лид в ситуации, когда с обычным сайтом мы бы не получили ничего.
  • Push-уведомления. Конечно, человека можно доставать и просто по email, но еще один канал активного взаимодействия с пользователями лишним точно не будет.
  • И, наконец, это дополнительный способ получения трафика, например, из Windows Store.
Добавить в заметки чтобы посмотреть позже?

Чтобы узнавать о свежих записях укажите email:

Если мы сравним PWA с приложениями, то увидим следующие недостатки последних, которых нет у PWA:

  • Приложения не индексируются поисковиками.
  • Они требуют больше действий для установки.
  • Их нельзя посмотреть без установки, то есть только установив приложение, можно узнать его функционал.

Когда вам не стоит делать PWA?

В принципе, почти любой сайт, имеющий мобильную версию от PWA, только выиграет, но, разумеется, есть и исключения:

  • Разовые события: конференции, концерты и т.д. Установка приложения – это все-таки действие, даже если это PWA, и установка практически ничего не требует от вашего клиента. Кроме того, его потом придется удалять. Пожалуй, для таких задач PWA и недостаточно рентабельны, и неудобны для конечного пользователя.
  • Похожий пример – лендинги. Если ваша задача решается посадочной страницей, PWA – ненужное излишество. Посадочная страница продукта или услуги – не то, что посещается десятки раз одним и тем же человеком.
  • Если мы говорим не о сайтах, а именно о приложениях, то все, что требует доступа к большим ресурсам, чем доступны PWA, например, к списку контактов, не оправдывает его разработку.

Какие требования есть к PWA?

Так как PWA устанавливается непосредственно на ваше устройство, то для того, чтобы оно распознавалось должным образом, необходимо учитывать следующие моменты:

  • Во-первых, приложение должно использовать безопасное соединение, что логично, ведь приложение в телефоне – это что-то более «интимное», чем сайт, на который ты просто заходишь.
  • Во-вторых, PWA должно работать в режиме офлайн, когда нет доступа к интернету. Технически это означает, что должен быть реализован процесс (Service Worker в терминах JavaScript), который гарантирует работу приложения независимо от наличия/отсутствия сети. Service Worker занимается такими вещами, как подгрузка файлов, подгрузка данных, сохранение данных и пр.
  • PWA обязательно должно иметь файл W3C манифеста, где содержатся как минимум следующие поля: название, начальный URL и настройки экрана.
  • Сайт должен быть интересен пользователю, например, Google Chrome предложит закрепить PWA на начальном экране телефона как приложение только после того, как на сайт зашли два-три раза в течение пяти минут.

Кроме формальных требований к сайту, есть и дополнительные моменты, которые подразумеваются, хотя и не заявлены прямо. Например, довольно здравым является требование к кроссбраузерности и удобству использования PWA с мобильных устройств. Логичной также выглядит реализация deep linking – когда каждая страница приложения имеет свой URL. Согласитесь, может быть довольно утомительным каждый раз искать нужную страницу, переходя с главной. Ну и конечно, большое значение имеет быстродействие сайта. Телефон все-таки немного медленнее настольного компьютера, поэтому тут оптимизация никогда не будет лишней.

Итак, чтобы обзавестись PWA, вам придется писать довольно продвинутый фреймворк для реализации работы такого приложения. Есть ли решения попроще? Да, самое логичное – взять какой-то готовый и использовать его для создания PWA.

Готовые решения для разработки

Итак, давайте посмотрим, что на сегодняшний день нам может предложить рынок. Вот несколько вариантов:

  • Vue Storefront. Это бесплатный каркас для PWA интернет-магазина с открытым исходным кодом. Написан на модном Vue.js. Он довольно дружелюбен к любому backend’у – его одинаково легко подружить как с WordPress, так и например с Magento.
  • Ionic. C самого начала Ionic ставил перед собой задачу, чтобы один и тот же код работал и в браузере, и на любом устройстве, независимо от платформы. Если вы любите Angular – это ваш выбор. Наверное, если использовать Ionic – лучше все-таки брать его с платными фичами.
  • Quasar. Еще одна неплохая платформа для vue.js, которая может без дополнительных установок генерировать каркас PWA.
  • И, наконец, PWA-Starter-Kit от Polymer. Это самый простой базовый каркас для PWA.

Подводя итог этому небольшому обзору PWA, я хотел бы напомнить вам о том, что сегодня конкуренция высока как никогда. Используя готовые фреймворки, вы не потратите на разработку PWA слишком много ресурсов, а именно они представляют собой современный подход к мобильности сайта. Поэтому если бизнес может получить новые продажи благодаря тому, что ваше приложение всегда под рукой, попробуйте применить это. 

+ +