В онлайн-магазины крупных технологических компаний, таких как Google, Microsoft и Apple, поступают приложения на платформе Progressive Web Applications, и похоже, что этот сегмент рынка скоро ожидают большие перемены. Веб-программы, размещаемые на серверах поставщиков, будут появляться наряду с настольными приложениями, многие функции которых они реализуют.nnКомпания Microsoft подготовила свой пятый пакет исправлений для Windows 10. В числе многих новых функциональных возможностей в этом продукте реализована поддержка приложений Progressive Web Applications. Чтобы понять, какие перспективы открывает эта поддержка перед разработчиками приложений, нам придется совершить экскурс в историю Progressive Web Applications и выяснить, что же они собой представляют.nnИстория Progressive Web Applications началась лет 15 назад. Благодаря развитию выполняемых на стороне сервера языков сценариев, таких как РНР, статические веб-страницы мало-помалу замещались более динамичным контентом. На клиентских устройствах, предусматривающих высокую скорость отображения, начали использовать код, позволяющий веб-содержимому адаптироваться к размеру устройства, отображающего соответствующую страницу.nnОднако по сравнению с настольными приложениями, которые используют возможности на уровне операционной системы и чья работа не зависит от загрузки с удаленных серверов полного контента веб-страниц, производительность этих приложений оставляла желать лучшего — я уж нс говорю о вопросах совместимости с мобильными веб-браузерами того времени.nnКроме того, скорость каналов связи тогда тоже была отнюдь не рекордной. Однако благодаря современным веб-браузерам и резко возросшим скоростям передачи данных по каналам связи приложения Progressive Web Applications сегодня вновь привлекают внимание специалистов.n
Характеристики Progressive Web Applications
По мнению инженеров Google Атскса Рассела и Френсиса Берримана, которые, как считается, осуществили кодификацию описания Progressive Web Applications, эти приложения должны обладать следующими характеристиками:n
- способностью адаптироваться к любому формфактору;
- возможностью функционировать в автономном режиме и не зависеть от доступности каналов связи;
- интерфейсом для взаимодействия, как у обычных приложений;
- обновляемым содержимым, которое всегда остается актуальным;
- достаточным уровнем безопасности и возможностью связи по протоколу Transport Security Layer(TLS) с целью обеспечения конфиденциальности, защиты данных и безопасности;
- обеспечиваемой манифестами приложений способностью быть идентифицированными в качестве приложений и доступностью для поисковых механизмов с целью каталогизации и индексирования;
- способностью к получению информации с помощью функций операционной системы, таких как загружаемые уведомления;
- возможностью установки в качестве постоянных приложений на экранах устройств при просмотре с использованием системного приглашения, когда Progressive Web Application обнаруживается по манифесту приложения; связываемостью, что позволит пользователям организовывать совместную работу с помощью социальных сетей.
Как функционируют приложения PWA
Функциональные возможности PWA обеспечиваются за счет дистанционно размещенного на сервере компании веб-приложения. Веб-разработчики добавляют обновления, включая новые функции, на стороне сервера. Эти обновления становятся доступными для конечных пользователей, когда тс снова посещают сайт.nnСама же инфраструктура приложения, соответствующая пользовательскому интерфейсу и инструментальным средствам данной платформы, содержит код, который помогает разработчикам получать отзывы от пользователей и собирать телеметрические данные, касающиеся применения приложений. Кроме того, он позволяет выполнять приложения PWA в изолированной среде для обеспечения безопасности.nnБольшинство обновлений происходит на стороне сервера с фактической инфраструктурой приложений, и потому потребность в обновлениях возникает лишь время от времени. Это заметно упрощает работу с приложениями, распространяемыми через общедоступные сетевые магазины, а также их обслуживание.nnMicrosoft планирует предоставить разработчикам возможность представлять PWA-приложения напрямую в Microsoft Store. Кроме того, сотрудники компании будут в автоматическом режиме просматривать ресурсы общедоступной сети в поисках того, что они называют качественными PWA-приложениями, и размешать их в Microsoft Store. Разработчики могут предлагать свои приложения для размещения в общедоступный магазин приложений, с принятием на себя ответственности за их обновление и обслуживание.n
Кто сейчас поддерживает PWA-приложения
На сегодня описываемые приложения поддерживаются компаниями Google, Apple и Microsoft. Реализованные в Windows 10 новые средства взаимодействия с PWA можно протестировать с помощью обновления официального приложения Twitter в магазине Microsoft Store. Размещенное в Microsoft Store Tw itter-приложение на платформе Universal Windows Platform (UWP) месяцами не могло завоевать симпатии пользователей.nnВ нем не были реализованы такие ставшие ныне базовыми функции, как возможность передачи посланий из 280 символов, средства для работы с закладками и использования изображений в прямых сообщениях. Функции, подобные перечисленным, появились на веб-сайте Twitter и в приложениях для систем iOS и Android практически сразу же.nnКогда корпорация Microsoft была близка к завершению следующего пакета обновлений для Windows, Twitter преобразовал свое приложение UWP в формат Progressive Web Application. Этот новый продукт был предоставлен участникам программы Microsoft Windows Insiders для открытого бета-тестирования.nnС тех пор специалисты Twitter разместили в Microsoft Store три обновления. Через это приложение они добавили на своем сервере несколько новых функций. К числу новых возможностей относятся точки входа для взаимодействия с операционной системой, используемые для передачи загружаемых уведомлений и совместной работы с содержимым приложения Twitter.n
Progressive Web Applications и разработчики настольных приложений
Поскольку большинство обновлений для PWA реализуются на стороне сервера, эта область становится точкой фокуса. Функции веб-разработчиков и разработчиков настольных приложений в чем-то сходны, но в то же время отличаются друг от друга. Самые значительные объемы работ производятся на стороне общедоступной сети, а значит, структура приложений упрощается, и эти продукты легче создавать и обслуживать.nnУ разработчиков настольных приложений эта ситуация вызывает некоторые опасения. В который раз им представляется, что при таком повороте событий они рискуют остаться без заработка. Знакомая история — особенно для разработчиков Windows. Хотите узнать больше о Progressive Web Applications? Вот что я могу посоветовать.n
- Сохраняйте свои навыки в области разработки настольных приложений, включая опыт изучения только что появившихся новых технологий.
- Старайтесь освоить новые навыки, относящиеся к разработке Progressive Web Applications. Вы уже выработали привычку воспринимать информацию в терминах кода, так что усвоение нового материала у вас пойдет гораздо легче, чем у новоиспеченного разработчика.
- Займитесь изучением реализаций Progressive Web Applications на всех основных платформах. В них вы найдете много общего, но в каждой проявляется свой уникальный подход. Станьте экспертом в этой области — и вы превратитесь в бесценный актив своей компании.
Если вы какое-то время занимались проблемами, связанными с технологией, вам наверняка известно, что единственная константа — это изменение. Примите это как данность, а в том, что касается PWA и вашей роли в разработке таких приложений, продолжайте двигаться вперед.nnИсточник: Журнал «Windows IT Pro\RE»