API браузера, сервис-воркеры, PWA

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

Сервисные работники

Простыми словами, сервис-воркер - это просто скрипт, который браузер запускает в фоновом режиме отдельно от веб-страницы.

Он выполняется в отдельном потоке от основного кода JavaScript нашей страницы, поэтому он не блокирует и не имеет доступа к структуре DOM.

Вы можете найти сервис-воркера в инструментах разработчика браузера.

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

Другие функции включают включение push-уведомлений и фоновой синхронизации. Также можно выполнять тяжелые вычисления в отдельном потоке.

Шаблон «сначала автономный» или «сначала кэш»

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

Жизненный цикл обслуживающего работника

У сервис-воркера другой жизненный цикл, чем у веб-страницы.

У сервис-воркера есть связанное состояние: «проанализировано», «установлено», «установлено», «активируется »,« активировано »и« избыточно ». Изначально он находится в «проанализированном» состоянии.

«Прогрессивное» веб-приложение (PWA)

Прогрессивные веб-приложения в сочетании с работниками службы обеспечивают более высокую производительность и удобство для пользователей.

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

Чтобы называть веб-приложение PWA, технически говоря, оно должно иметь следующие функции: Защищенные контексты (HTTPS), один или несколько Service Workers и файл манифеста. .

Спасибо за прочтение.

Удачного обучения 🙏