В онлайн-магазины крупных технологических компаний, таких как Google, Microsoft и Apple, поступают приложения на платформе Progressive Web Applications, и похоже, что этот сегмент рынка скоро ожидают большие перемены. Веб-программы, размещаемые на серверах поставщиков, будут появляться наряду с настольными приложениями, многие функции которых они реализуют.

Компания Microsoft подготовила свой пятый пакет исправлений для Windows 10. В числе многих новых функциональных возможностей в этом продукте реализована поддержка приложений Progressive Web Applications. Чтобы понять, какие перспективы открывает эта поддержка перед разработчиками приложений, нам придется совершить экскурс в историю Progressive Web Applications и выяснить, что же они собой представляют.

История Progressive Web Applications началась лет 15 назад. Благодаря развитию выполняемых на стороне сервера языков сценариев, таких как PHP, статические веб-страницы мало-помалу замещались более динамичным контентом. На клиентских устройствах, предусматривающих высокую скорость отображения, начали использовать код, позволяющий веб-содержимому адаптироваться к размеру устройства, отображающего соответствующую страницу.

Однако по сравнению с настольными приложениями, которые используют возможности на уровне операционной системы и чья работа не зависит от загрузки с удаленных серверов полного контента веб-страниц, производительность этих приложений оставляла желать лучшего — я уж не говорю о вопросах совместимости с мобильными веб-браузерами того времени. Кроме того, скорость каналов связи тогда тоже была отнюдь не рекордной. Однако благодаря современным веб-браузерам и резко возросшим скоростям передачи данных по каналам связи приложения Progressive Web Applications сегодня вновь привлекают внимание специалистов.

Характеристики Progressive Web Applications

По мнению инженеров Google Алекса Рассела и Френсиса Берримана, которые, как считается, осуществили кодификацию описания Progressive Web Applications, эти приложения должны обладать следующими характеристиками:

  • способностью адаптироваться к любому формфактору;
  • возможностью функционировать в автономном режиме и не зависеть от доступности каналов связи;
  • интерфейсом для взаимодействия, как у обычных приложений;
  • обновляемым содержимым, которое всегда остается актуальным;
  • достаточным уровнем безопасности и возможностью связи по протоколу Transport Security Layer(TLS) с целью обеспечения конфиденциальности, защиты данных и безопасности;
  • обеспечиваемой манифестами приложений способностью быть идентифицированными в качестве приложений и доступностью для поисковых механизмов с целью каталогизации и индексирования;
  • способностью к получению информации с помощью функций операционной системы, таких как загружаемые уведомления;
  • возможностью установки в качестве постоянных приложений на экранах устройств при просмотре с использованием системного приглашения, когда Progressive Web Application обнаруживается по манифесту приложения;
  • связываемостью, что позволит пользователям организовывать совместную работу с помощью социальных сетей.

Как функционируют приложения PWA

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

Сама же инфраструктура приложения, соответствующая пользовательскому интерфейсу и инструментальным средствам данной платформы, содержит код, который помогает разработчикам получать отзывы от пользователей и собирать телеметрические данные, касающиеся применения приложений. Кроме того, он позволяет выполнять приложения PWA в изолированной среде для обеспечения безопасности.

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

Microsoft планирует предоставить разработчикам возможность представлять PWA-приложения напрямую в Microsoft Store. Кроме того, сотрудники компании будут в автоматическом режиме просматривать ресурсы общедоступной сети в поисках того, что они называют качественными PWA-приложениями, и размещать их в Microsoft Store. Разработчики могут предлагать свои приложения для размещения в общедоступный магазин приложений, с принятием на себя ответственности за их обновление и обслуживание.

Кто сейчас поддерживает PWA-приложения

На сегодня описываемые приложения поддерживаются компаниями Google, Apple и Microsoft. Реализованные в Windows 10 новые средства взаимодействия с PWA можно протестировать с помощью обновления официального приложения Twitter в магазине Microsoft Store.

Размещенное в Microsoft Store Twitter-приложение на платформе Universal Windows Platform (UWP) месяцами не могло завоевать симпатии пользователей. В нем не были реализованы такие ставшие ныне базовыми функции, как возможность передачи посланий из 280 символов, средства для работы с закладками и использования изображений в прямых сообщениях. Функции, подобные перечисленным, появились на веб-сайте Twitter и в приложениях для систем iOS и Android практически сразу же.

Когда корпорация Microsoft была близка к завершению следующего пакета обновлений для Windows, Twitter преобразовал свое приложение UWP в формат Progressive Web Application. Этот новый продукт был предоставлен участникам программы Microsoft Windows Insiders для открытого бета-тестирования. С тех пор специалисты Twitter разместили в Microsoft Store три обновления. Через это приложение они добавили на своем сервере несколько новых функций. К числу новых возможностей относятся точки входа для взаимодействия с операционной системой, используемые для передачи загружаемых уведомлений и совместной работы с содержимым приложения Twitter.

Progressive Web Applications и разработчики настольных приложений

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

У разработчиков настольных приложений эта ситуация вызывает некоторые опасения. В который раз им представляется, что при таком повороте событий они рискуют остаться без заработка. Знакомая история — особенно для разработчиков Windows.

Хотите узнать больше о Progressive Web Applications? Вот что я могу посоветовать.

  • Сохраняйте свои навыки в области разработки настольных приложений, включая опыт изучения только что появившихся новых технологий.
  • Старайтесь освоить новые навыки, относящиеся к разработке Progressive Web Applications. Вы уже выработали привычку воспринимать информацию в терминах кода, так что усвоение нового материала у вас пойдет гораздо легче, чем у новоиспеченного разработчика.
  • Займитесь изучением реализаций Progressive Web Applications на всех основных платформах. В них вы найдете много общего, но в каждой проявляется свой уникальный подход. Станьте экспертом в этой области — и вы превратитесь в бесценный актив своей компании.

Если вы какое-то время занимались проблемами, связанными с технологией, вам наверняка известно, что единственная константа — это изменение. Примите это как данность, а в том, что касается PWA и вашей роли в разработке таких приложений, продолжайте двигаться вперед.