За PWA будущее

Привет. Хочу рассказать про PWA. Не просто про то, что это удобно, а про то, что происходит с этой штукой прямо сейчас.

Я пристально слежу за этой технологией. Читаю новости, смотрю, что добавляют в браузеры, что меняется на iOS. И знаешь что. Я верю в её светлое будущее. Серьёзно. Не потому что модно, а потому что вижу, куда всё идёт.

В 2026 году экосистема PWA переживает серьёзные изменения. Крупные релизы Chrome и Edge приносят новые API для установки, обновлений и работы в фоне. А на iOS наконец-то закрываются многие «белые пятна». И это меняет расклад.

Установка без JavaScript

Раньше для кнопки установки надо было писать код. Обрабатывать событие beforeinstallprompt, вешать обработчики, следить за промисом. Целая история. Теперь достаточно добавить в разметку один тег <install></install> — и браузер сам отрисует стандартную кнопку с иконкой и текстом.

Это тестируется в Chrome и Edge начиная с версии 148. И это идеально ложится на мою архитектуру с минимальным JavaScript. Я не хочу писать код ради кнопки. Я хочу, чтобы кнопка была частью HTML.

Причём этот элемент умеет не только устанавливать текущее приложение, но и предлагать установить другое PWA — достаточно указать его адрес в атрибуте. То есть можно делать каталоги приложений прямо внутри веб-страницы.

Параллельно развивается и Web Install API (navigator.install()). Это уже JavaScript-метод, который позволяет сайту программно инициировать установку другого веб-приложения. Он уже интегрирован в такие инструменты, как Progressier и PWAStore.io.

Обновления стали предсказуемее

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

Начиная с Chrome 144 (январь 2026) процесс переработали. Теперь сравнение манифестов более детерминированное. Если иконки отличаются меньше чем на 10%, браузер применит обновление автоматически, без диалога. Обновления имени или иконки приложения требуют явного подтверждения только при значительных изменениях. Это приближает PWA к тому, как работают обновления нативных приложений.

Миграция домена без потери пользователей

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

Chrome 150 представил PWA Origin Migration. Теперь можно добавить в манифест нового приложения поле migrate_from со ссылкой на старый домен, а на старом домене подтвердить миграцию через файл .well-known/web-app-origin-association. Пользователи получат уведомление, что приложение переехало, и после одного клика старое приложение удалится, а новое установится автоматически.

Интеграция с операционной системой

PWA всё сильнее сближаются с нативными приложениями.

На macOS, начиная с Chrome 152, уведомления от установленных PWA будут отображаться как исходящие от самого приложения, а не от Chrome. Это значит, что macOS воспринимает PWA как отдельное приложение, и пользователь может управлять его уведомлениями отдельно от браузера.

В Edge 152 появилось CSS-свойство window-drag, которое позволяет определить области в интерфейсе PWA, за которые можно перетаскивать всё окно приложения — как за заголовок нативного окна.

А API Incoming Call Notifications позволяет установленному PWA отправлять уведомление о входящем звонке с кнопками «Принять» и «Отклонить» и рингтоном. Это критично для VoIP-приложений и мессенджеров.

Фоновые задачи и офлайн

Возможности фоновой работы расширяются. Periodic Background Sync API позволяет PWA регулярно получать свежий контент в фоне и кэшировать его, чтобы при следующем открытии пользователь сразу видел актуальные данные — даже без сети. Background Fetch API даёт возможность выполнять длительные загрузки даже после закрытия приложения.

iOS: постепенное сокращение разрыва

Apple долго тормозила развитие PWA. Но за последние годы ситуация улучшилась.

iOS 16.4 добавила поддержку Web Push-уведомлений для PWA, установленных на домашний экран. iOS 26 пошла дальше: сайты, добавленные на домашний экран, теперь открываются как веб-приложения по умолчанию, без лишних границ и панелей браузера. Также появились Declarative Web Push и Screen Wake Lock в Safari 18.4.

Тем не менее, по состоянию на октябрь 2026 года PWA на iPhone всё ещё не поддерживают встроенные покупки. Apple блокирует их. А фоновые задачи работают с ограничениями.

Что это значит для моего блога

С учётом всех этих изменений PWA становится ещё более привлекательным вариантом.

Установка станет проще. Новый элемент <install> позволит добавить кнопку без JavaScript. Идеально для моей архитектуры.

Обновления станут предсказуемее. Смогу менять иконки и название блога, не сбивая пользователей с толку.

Фоновые задачи позволят кэшировать новые посты заранее, чтобы читатели видели свежий контент даже в офлайне.

На macOS уведомления от блога будут выглядеть как от отдельного приложения. Это повысит доверие и узнаваемость.

Почему я верю

Я слежу за PWA не первый год. И вижу, как технология растёт. Медленно, но верно. То, что раньше было костылём, становится полноценным инструментом.

Зоопарк приложений под разные системы уходит. Одно веб-приложение, которое работает везде, становится реальностью. Просто пока мало кто это понял.

Я верю, что через пару лет PWA перестанет быть «альтернативой». Он станет нормой. Тем, что выбирают по умолчанию. Потому что это быстрее, дешевле и удобнее. И для разработчика, и для пользователя.

Мой блог уже PWA. И я буду развивать его в эту сторону. Следить за обновлениями. Внедрять новое. Потому что верю.