Эта статья не предназначена для того, чтобы познакомить вас с фантастическими возможностями веб-приложений. Если бы это было так, то было бы на несколько лет позже. Веб-приложение не является чем-то новым. Они существуют уже довольно давно и являются одним из основных способов нашего взаимодействия в Интернете. Даже сейчас, когда вы читаете это, вы используете веб-приложение Medium. Вместо этого давайте поговорим о том, что значит быть «прогрессивным» веб-приложением.

Что такое прогрессивное веб-приложение?

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

Зачем идти прогрессивно?

К настоящему моменту вы можете подумать, что PWA — это просто разбавленная копия мобильного/нативного приложения. Почему же тогда вы предпочитаете делать PWA, а не полноценное мобильное приложение? Ну, во-первых, создание мобильного/нативного приложения часто означает использование совершенно другой кодовой базы. Вам потребуется разработать приложение на Objective C, Java или Swift и поддерживать отдельную кодовую базу. Точно так же любые функции, которые вы собираетесь реализовать как в веб-приложениях, так и в мобильных приложениях, будут означать два отдельных процесса разработки. Это не только отнимает много времени, но и может оказаться невыполнимым даже для небольших компаний. Создание PWA означает внесение дополнительных изменений в кодовую базу вашего существующего веб-приложения. Поскольку PWA по-прежнему остается просто веб-приложением, написанным на HTML, CSS и JavaScript, вам придется поддерживать единую кодовую базу. Кроме того, любые функции, предназначенные для работы как в Интернете, так и на мобильных устройствах, потребуют только одного этапа разработки. Запуск мобильного приложения, предназначенного для использования на устройствах Android и iOS, также означает необходимость регистрации приложения в Google Play и >Магазин приложений. Это может быть сложным процессом, так как это означает, что изменения, внесенные в ваше приложение, не могут быть автоматически опубликованы для всех, поскольку они должны быть сначала приняты командой в Google и Apple. Запуск PWA, представляющего собой веб-приложение, означает, что внесенные изменения легче применять, поскольку в этом не участвует третья сторона.

Согласно Отчету о мобильных приложениях ComScore за 2015 год, среднее количество новых мобильных приложений, загружаемых в месяц, составляет 0 (ноль). Это не опечатка. Подумай об этом. Сколько совершенно новых приложений вы загрузили на свое мобильное устройство за последний месяц? Скорее всего, вы загружаете новое приложение только при переходе на новое мобильное устройство. В этих случаях вы загружаете только те приложения, которые были на вашем предыдущем устройстве. Основываясь на этой статистике, новым приложениям невероятно сложно сделать это, поскольку в отчете также говорится, что пользователи проводят большую часть своего времени в трех лучших приложениях. Эти три лучших приложения, вероятно, Facebook, Instagram и WhatsApp; не ваше мобильное приложение. Однако отчет показывает, что люди проводят гораздо больше времени в нативных приложениях, чем в мобильном Интернете. Это имеет смысл. Поскольку мобильные приложения доступны на главном экране устройства, их проще запустить, чем выполнять поиск веб-приложения в Google. Они также выглядят и чувствуют себя намного лучше. Однако в мобильной сети по-прежнему больше пользователей, чем в мобильных приложениях. Это означает, что, несмотря на то, что люди проводят больше времени с помощью нативных приложений, все же больше людей посещают мобильный Интернет, даже если ненадолго. В PWA мы сочетаем доступность и нативные функции мобильного приложения с большим охватом веб-приложения.

Это больше о путешествии, чем о пункте назначения

Независимо от того, создаете ли вы PWA с нуля или превращаете существующее веб-приложение в прогрессивное веб-приложение, помните, что речь идет больше о путешествии, чем о пункте назначения. Это не подход «все или ничего». Прогрессивный означает, что вы движетесь к чему-то. Вы можете медленно, постепенно улучшать свое веб-приложение, чтобы со временем оно стало PWA. Вы можете постепенно изменять приложение, чтобы оно имело некоторые функции, которые классифицируют его как PWA, например:

  1. Возможность добавления на домашний экран пользователя.
  2. Оффлайн доступ.
  3. Доступ к камере.
  4. Доступ по отпечатку пальца.
  5. Всплывающие напоминания.

Этот процесс постепенного добавления функций в веб-приложение, чтобы оно постепенно начинало выглядеть и ощущаться как мобильное/нативное приложение, называется прогрессивным улучшением и будет обсуждаться в следующих статьях.

Подробнее о PWA и их возможностях читайте здесь: https://developers.google.com/web/progressive-web-apps/