Интерес к разработке приложений для мобильных операционных систем в сообществе разработчиков стабильно растёт, количество инструментов и подходов позволяющих создавать приложения становится всё больше. Сегодня я хочу написать о одном из новых подходов, а именно о Progressive Web Apps.
PWA – это название группы приложений, которые используют стек Web технологий (JS + HTML + CSS) и позволяют соединить простоту использования Web сайта со специфичными для нативных приложений операционной системы UX и техническими возможностями.
Основное предназначение PWA увеличить конверсию, количество пользователей и удобство использования Web приложений на мобильных устройствах.
Простыми словами - это сайты, который могут работать на мобильном так же, как и нативные приложения. Вы просто можете добавить ярлык сайта на рабочий стол.
Пример хорошего PWA приложения - Telegram. Если зайти в веб версию телеграмма с мобильного устройства, оно предложит вам добавить его на рабочий стол.
Когда такое веб-приложение будет запущено с рабочего стола, интерфейс браузера будет спрятан, а страница откроется как обычное установленное приложение. Отличить от нативного приложение очень сложно.
Отличия PWA от нативных приложений
1. В браузерах Google, Opera, Firefox и Microsoft PWA можно загрузить на любых гаджетах, независимо от размера экрана и других спецификаций. Кроме того, разработчики данных браузеров будут предлагать пользователям установить PWA при втором посещении сайта.
2. Разработчики приложений отмечают, что создать прогрессивное приложение легче и быстрее, чем обычный сайт.
3. Не нужно API с поддержкой обратной совместимости. В случае с PWA пользователи запускают ту же версию кода сайта (в отличие от классических приложений).
И это только начало. Microsoft уже занимается решением задачи, как добавить прогрессивные веб-приложения в Windows Store. Google в мае 2016 озвучил длинный список идей для развития прогрессивных приложений. И то, что поисковые системы будут уделять особое внимание PWA в будущем, кажется неизбежным.
Возможности PWA приложений
- Доступ к геолокации
- Доступ к основным сенсорам (акселерометр, гироскоп)
- Доступ к камере и микрофону
- Воспроизведение звука
- Apple Pay & Android Pay
- WebAssembly, WebRTC, WebGL
- Возможность хранить до 50mb на iOS устройствах (на Android размер хранилища не ограничен)
- Web Push Notifications
- С WebAPK и Chrome, PWA появляются в настройках и можно смотреть статистику
- Доступ к Bluethooth
Почему прогрессивные веб-приложения изменят ситуацию?
1. Пользователи могут переходить на прогрессивные приложения из ссылок в соц. сетях, во время просмотра веб-страниц или непосредственно из выдачи. Согласитесь, это гораздо удобнее, чем конкурировать за просмотры с двумя миллионами доступных приложений на IOS App Store или Google Play Store.
2. Предложение установить прогрессивное приложение показывается только тогда, когда веб-приложение отвечает определенным критериям, и пользователь продемонстрировал интерес посредством повторного посещения сайта.
3. Установка приложения происходит мгновенно. Все компоненты, которые требуют длительной загрузки, уже были установлены в кэш при первом посещении сайта пользователем.
4. Прогрессивные приложения гораздо меньше по размеру, так как они эффективно используют возможности браузера.
5. Всплывающие уведомления, работа в автономном режиме и все другие функции прогрессивного приложения будут работать, даже если посетитель никогда его не устанавливал.
6. Обычные приложения могут быть использованы только на той платформе, для которой они созданы. Вы не можете использовать приложение на вашем компьютере так же, как на Android или iOS устройстве. Кроме того, использовать приложение могут только те, кто его установил.
7. Когда вы не в магазине приложений, то не ограничены правилами App Store и не должны платить 30% от объема продаж.
Недостатки Progressive Web Apps
1. PWA — новая технология, поэтому существует не так много примеров реализации этого формата. Те, кто рискнет, станут первопроходцами.
2. На момент публикации прогрессивные веб-приложения не доступны повсеместно. Да, Chrome и Opera начали поддержку прогрессивных Web Apps. Firefox и Microsoft взяли на себя обязательство по поддержке. Пока намерений по поддержке этого формата нет только у Apple.
Впрочем, ни одна из этих причин не является препятствием для тестирования PWA как формата уже сегодня.
Возможностей действительно много и приложений становится все больше и больше. Посмотреть, как работают PWA можно по ссылке.