Что делает ваше веб-приложение быстрее? (часть 4, Браузер и прогрессивные улучшения)

Если вы подошли непосредственно к этой истории, то предлагаю ознакомиться с частью 1, частью 2 и частью 3 этой серии.

Итак, в прошлый раз я оставил вас говоря,

«Будьте неотличимы от нативных приложений».

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

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

* Прогрессивное веб-приложение

PWA (прогрессивное веб-приложение) — это следующий шаг к тому, чтобы веб-приложение стало более родным для устройства.

PWA предоставляет вам доступ к собственным возможностям, таким как:

  1. Автономное хранилище (Service Worker)
  2. Push-уведомление (сервисный работник)
  3. Установить как собственный (манифест приложения)
  4. Открытые ссылки на приложения (манифест приложения)

Чтобы использовать PWA, вы должны использовать https

PWA имеет 2 основных Service Worker и Web App Manifest.

1. Работник службы:

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

Чтобы узнать больше о сервис-воркере, перейдите на MDN.

2. Манифест веб-приложения:

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

Чтобы узнать больше о манифесте веб-приложения, перейдите по ссылке MDN.

Другие улучшения:

Как мы знаем, javascript выполняет все операции в одном потоке. Это становится проблемой при выполнении более интенсивных задач, таких как обработка изображений. Чтобы преодолеть эту ситуацию, мы можем передать эту задачу Web Worker, которая будет выполнять эту задачу в фоновом потоке. Вы не можете трогать какой-либо элемент DOM из Web Worker и передавать данные только с помощью сообщений. Чтобы узнать больше о Web Worker, перейдите на MDN.