УДК 004.738.5
ПРОГРЕССИВНЫЕ ВЕБ-ПРИЛОЖЕНИЯ (PWA)
Н. Г. Фризоргер, А. П. Багаева
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: frizorger2013@mail.ru
В статье рассмотрены прогрессивные веб-приложения, их основные преимущества и отличия от нативных приложений.
Ключевые слова: прогрессивные веб-приложения, нативные приложения, оффлайн, манифест.
PROGRESSIVE WEB APPS (PWA)
N. G. Frizorger, A. P. Bagaeva
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: frizorger2013@mail.ru
The article discusses progressive web applications, their main advantages and differences from native applications.
Key words: progressive web applications, native applications, offline, manifest.
В современном мире статистические данные показывают, что больше половины пользователей за месяц не загружают никаких приложений, но, несмотря на это, мобильный браузер тоже в большей части случаев не представляет собой первостепенную форму выхода в сеть. Отсюда и появились гибридные прогрессивные веб-приложения (Progressive web apps).
Progressive web apps (PWA) соединяют наилучшие качества сайта и мобильного приложения. Это сайты, использующие актуальные веб-нормы и это позволяет скачивать их на ПК и любое устройство. В плане работы они схожи с приложениями.
Progressive web apps относятся к тем, которые работают при отсутствии подключения к сети, максимально используя данные, закешированные за период последней работы с ними.
Их называют адаптивными сайтами, так как PWA приспособляются под возможности используемого браузера, а также имеют возможность автоматически совершенствовать параметры этого браузера, чтобы использование сайта стало схожим с использованием нативного веб-приложения (такое приложение доступно лишь на одной платформе и ни на каких других) [1,2].
Чем же отличаются Progressive web apps от нативных?
Нативное приложение - это самостоятельная программа, находящаяся в устройстве, работающая, как и любое другое приложение, установленное на ПК, например, Microsoft Word. А progressive web apps - это сайты, отображающиеся как мобильные приложения, обладающие всеми параметрами установленных программ, но работающие прямиком из браузера.
Секция «Информационно-экономические системы»
Первое и главное отличие PWA - прогрессивность. У них отсутсвуют ограничений, которые имеются у обычных приложений. Поэтому они являются предельно развивающимися и действуют на всевозможных ОС и в различных браузерах. То есть PWA имеют возможность приспособляться под пользовательский охват.
Второе отличие - адаптивность. Люди выходят в интернет с различных устройств, поэтому PWA подстроятся под любые устройства (их параметры и размеры), с которых их открывают.
Третье - работа при любом интернет-соединении. Не все обычные приложения имеют возможность обеспечить пользователю осуществлении работы с ними в отсутствии соединения. PWA, в свою очередь, способствует взаимодействию с приложением, несмотря на то, какое имеется интернет-соединение. Этому способствует предварительное кеширование данных приложения, происходящее с помощью технологии Service Workers.
К главным составляющим PWA относятся:
- Web App manifest - файл JSON, задающий формат приложения, его вид другие параметры. Это то, как работает показатель привлекательности;
- технология Service Workers, отвечающая за быструю работу приложения в различных условиях подключения интернет-соединения. С помощью нее состоится размеренный переход из браузера, так как это является переходным слоем между фронт- и бэкендом приложения. На практике это код, написанный на языке javascript;
- HTTPS. Протокол, передающий все ресурсы сайта, что дает точность передачи данных;
- Application shell. Виртуальная оболочка приложения, загружающаяся при его запуске, после чего динамическая информация загружается на нее из сети;
- Push Notifications.Получение сообщений, эту функцию предлагают большинство сайтов и progressive web apps солидарны с этой идеей.
К основным положительным сторонам progressive web apps относятся следующие:
1. Высокая скорость. PWA всегда работают очень быстро с момента загрузки приложения до момента полноценной работы с ним. И даже при отсутствии интернет-подключения всё происходит на высоких скоростях.
2. Интеграция. С помощью PWA все загружается быстро и бесшовно, потому что приложение находится на устройстве пользователя, способно отправлять push-уведомления и имеет доступ к функциям устройства как нативные приложения.
3. Работа без интернет-соединения. С помощью Service Workers имеется возможность целиком загрузить изображение на экране пользователя даже при отключенном интернете.
Чтобы сделать приложение Progressive web aaps требуется несколько пунктов:
1. Манифест веб-приложения - JSON файл. В нем имеется информация о ярлыке программы, отображающимся для людей, использующих её.
Service Workers - это воркеры, руководствуемые действиями, работающие в фоновом режиме. Они функционируют как промежуточный этап между сетью и приложением, что способствует перехватыванию ими запросов сети и кэшированию данных в фоновом режиме. Также они применяются при загрузке данных для работы при отсутствии интернет-соединения.
2. Ярлык. Приложение показывает ярлык и кнопку "Добавить на главный экран", позволяющую установить прогрессивное приложение на рабочий стол любого устройства. Данный инструмент дает возможность сгенерировать ярлыки в разных форматах.
3. Передача по протоколу HTTPs. Все прогрессивные приложения работают через защищенную сеть. Веб-сайт с защищенным подключением дает гарантию надежности вашего веб-приложения. Это очень актуально для людей, опасающихся взлома и хакерских атак, доверяющих сайтам с защищенным соединением [3].
Итак, можно сделать вывод о том, что прогрессивные веб-приложения имеют большие преимущества, к которым относятся безопасность, легкое использование, адаптивность,
доступ даже без интернет-соединения и простые обновления, что дает им больше привлекательности для использования пользователями. Поэтому PWA это безоговорочно большой шаг в предоставлении интерактивности и функциональности веб-приложений. Данная технология с высокой вероятностью станет лидирующей в мире разработки приложений, так как имеет очевидные плюсы, которые были рассмотрены в статье.
Библиографические ссылки
1. Новости, тенденции и тренды веб-разработки в 2020 году [Электронный ресурс]https://www.motocms.com/blog/ru/trendy-web-razrabotki/ (дата обращения: 07.03.2021).
2. Smartum Pro - Нативные, веб и гибридные приложения: что выбрать? [Электронный ресурс]. URL: https://smartum.pro/ru/blog-ru/native-web-and-hybrid-apps/ (дата обращения: 09.03.2021).
3. Харб. Все, что нужно знать о Progressive web app (PWA) [Электронный ресурс ]. URL: https://habr.com/ru/company/wrike/blog/481240/ (дата обращения: 12.03.2021).
© Фризоргер Н. Г., Багаева А. П., 2021