Google Chrome меняет платформу для расширений: что это значит
В Google Chrome есть так называемый манифест — платформа для расширений.
Еще в 2018 году разработчики браузера анонсировали третью версию манифеста. В ней много изменений. Сама Google ожидает, что свежая версия сделает работу дополнений более безопасной и эффективной с точки зрения использования ресурсов компьютера.
Нововведения затронут не только Google Chrome, но и все браузеры, которые построены на открытой платформе Chromium: «Яндекс Браузер», Microsoft Edge, Opera, Brave, Vivaldi и другие.
Изначально планировалось, что Chrome полностью перейдет на обновленную платформу расширений уже в январе 2024 года. Но из-за большого количества жалоб со стороны разработчиков в Google решили пересмотреть сроки.
Расскажу, в чем суть изменений и когда их ждать.
Что такое манифест
В каждом расширении для браузеров на основе Chromium есть файл manifest.json. Там прописана основная информация о дополнении, необходимые разрешения и другие важные данные. При установке расширения браузер сканирует этот файл и запускает необходимые функции. Например, предупреждает пользователя, что программе требуется доступ к чтению истории посещений сайтов.
В manifest.json указывается и версия манифеста. В разных итерациях манифеста используются разные API — правила, по которым взаимодействуют расширение и браузер. Сейчас актуальной версией считается Manifest V2, но вскоре Chrome перейдет на Manifest V3.
Манифест — часть платформы WebExtensions, которая унифицирует разработку расширений для разных браузеров. Mozilla Firefox и Apple Safari присоединились к WebExtensions, поэтому дополнения для них тоже могут содержать манифест.
Что изменится в Manifest V3
Обновленная платформа для расширений Google Chrome содержит десятки изменений и улучшений. Но основных нововведения три.
🔧 Переход на сервис-воркеры. Главный компонент любого расширения для браузера на основе Chromium — фоновая страница. Она позволяет реагировать на события в браузере, например создание новой вкладки. По сути это отдельная, но невидимая вкладка.
Такая фоновая страница активна постоянно, даже когда в этом нет необходимости, что приводит к нерациональному расходованию памяти. Поэтому Google заменяет эту концепцию на сервис-воркеры . Они запускаются вне основного потока браузера, чтобы не тормозить работу.
В итоге браузер сможет быстрее отображать веб-страницы и в среднем расходовать меньше оперативной памяти.
🌐 Новая архитектура управления сетевыми запросами. Сетевыми запросами называются команды, которые браузер отправляет и получает для загрузки веб-страниц и их ресурсов: изображений, скриптов, стилей и так далее. Сейчас расширения контролируют трафик при помощи инструмента webRequest. Он позволяет без ограничений перехватывать, блокировать и модифицировать все сетевые запросы. Возможностями webRequest активно пользуются расширения для блокировки рекламы и родительского контроля.
В Manifest V3 модификация сетевых запросов происходит через другой инструмент — declarativeNetRequest. У него почти те же возможности, но запросы выполняет не само расширение, а движок браузера. Расширение может лишь подготовить список, содержащий не более 30 000 правил для фильтрации запросов.
В Google утверждают, что мера направлена на защиту конфиденциальности. Теперь расширения не смогут сканировать всю веб-страницу, где могут быть приватные данные пользователя. Еще новый подход эффективнее: браузеру не придется ждать, пока расширение обработает каждый сетевой запрос. Кроме того, ограничение полномочий ударит по вредоносным расширениям.
🚫 Запрет на использование удаленного кода. Новая версия манифеста требует, чтобы весь код был упакован в само расширение. Раньше дополнения могли подгружать необходимые данные из любого внешнего источника. С помощью этого принципа блокировщики рекламы регулярно обновляют базы фильтрации, что позволяет эффективно противостоять рекламным сетям.
Теперь своевременный апдейт невозможен: разработчикам придется каждый раз вносить изменения в код расширения, загружать обновление в магазин Chrome Web Store и дожидаться завершения процесса модерации.
Почему индустрия критикует изменения
Разработчики и специалисты в области конфиденциальности опасаются, что переход на Manifest V3 серьезно снизит эффективность работы блокировщиков рекламы и трекеров. А заодно и всех других дополнений, которые защищают конфиденциальность пользователей. Вот основные тезисы экспертов.
😵💫 Новый манифест усложнит развитие расширений. Глава по технологиям компании Ghostery, которая разрабатывает одноименное расширение, отмечает, что внедрение Manifest V3 «закроет дверь для инноваций в области блокировки рекламы». В пример можно привести YouTube: платформа часто экспериментирует с системой интеграции объявлений в видео, ограничение на обновление списков фильтрации не позволит оперативно подстраиваться под изменения. Эффективность блокировщиков снизится, из-за чего пользователи начнут видеть больше рекламы.
Сооснователь AdGuard уверен, что блокировщики рекламы смогут сохранить качество блокировки объявлений практически полностью. При этом он считает, что Manifest V3 затруднит внедрение новых подходов: например, едва ли получится реализовать автоматическое распознавание рекламы силами искусственного интеллекта.
Авторы популярного блокировщика рекламы uBlock Origin создали отдельное расширение для совместимости с Manifest V3. Оказалось, что на новой платформе невозможно реализовать некоторые привычные функции, например блокировку внешних шрифтов.
🏃 Браузер не работает медленнее из-за Manifest V2. Фонд электронных рубежей, который защищает цифровые права пользователей по всему миру, раскритиковал новую технологию. В организации сослались на отчет американских исследователей 2020 года. Согласно документу, некоторые расширения для защиты конфиденциальности сокращают скорость загрузки веб-страниц, объем передаваемых данных и расход ресурсов компьютера.
Разработчики Chrome утверждают, что 85% активно поддерживаемых расширений уже перешли на Manifest V3. Таким образом компания пытается доказать, что у большинства разработчиков нет проблем с новой платформой.
Google также прислушивается к требованиям разработчиков. Например, теперь можно пропустить этап модерации при обновлении расширения, если меняется только содержимое списка фильтров.
Когда случится переход на Manifest V3
Впервые поддержка третьей версии Manifest появилась в январе 2021 года с выпуском Chrome 88, но до сих пор браузер сохраняет совместимость со второй версией.
Отказ от Manifest V2 происходит поэтапно:
- С июня 2022 года Chrome Web Store не принимает новые дополнения, которые ориентируются на Manifest V2.
- С июня 2024 года пользователи тестовых версий Chrome — Beta, Dev и Canary, — которые продолжают использовать расширения с Manifest V2, получают предупреждение о скором прекращении поддержки. Дополнения со значком «Рекомендуемые», которые полагаются на старую версию манифеста, лишатся этой пометки.
- В ближайшие месяцы пользователей стабильной и тестовых версий браузера начнут перенаправлять в Chrome Web Store с предложением установить актуальные альтернативы расширениям, использующим Manifest V2. Затем последует постепенное отключение устаревших дополнений, хотя какое-то время их еще можно будет активировать вручную.
- С июня 2025 года расширения со второй версией манифеста отключатся и в версии браузера для предприятий.
Разработчики браузера Vivaldi объявили, что будут сохранять совместимость с Manifest V2, пока она будет доступна в коде Chromium, то есть как минимум до лета 2025 года. Авторы Microsoft Edge пока не определились с конкретным графиком перехода на свежий манифест.
Mozilla Firefox тоже поддерживает Manifest, чтобы обеспечить совместимость расширений с другими браузерами. Но в Mozilla объяснили, что их реализация Manifest V3 сохраняет поддержку фоновых страниц и webRequest. Кроме того, останется совместимость с Manifest V2: от нее не планируют отказываться в обозримом будущем.
Что в итоге
- До середины 2025 года Google Chrome, «Яндекс Браузер», Microsoft Edge, Opera, Brave, Vivaldi и другие браузеры на базе Chromium перейдут на новую платформу расширений.
- Большинство пользователей вряд ли заметит изменения: многие дополнения уже поддерживают новую технологию.
- Проблемы могут возникнуть с расширениями, которые давно не получали обновлений.
- Есть риск, что AdBlock и другие блокировщики рекламы станут хуже справляться со своими задачами, хотя критического падения эффективности ждать не стоит.
Мы постим кружочки, красивые карточки и новости о технологиях и поп-культуре в нашем телеграм-канале. Подписывайтесь, там классно: @t_technocult