Что означает WebExtensions для пользователей Firefox

Некоторые большие изменения ожидают браузер Mozilla. В прошлом году компания представила небольшое новшество под названием WebExtensions в Firefox 48. Это новый API для расширений, который Mozilla хочет внедрить в свой браузер и который в конечном итоге заменит старые, но очень успешные API, которые компания использовала до сих пор.

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

Почему Mozilla вводит WebExtensions?

В настоящее время подавляющее большинство дополнений для Firefox создаются с использованием XUL и XPCOM, а также SDK для дополнений, который позволяет людям использовать традиционные технологии, такие как JavaScript, HTML и CSS, для создания дополнений. Эта система создания расширений работала отлично до сих пор, но Mozilla утверждает, что, хотя она и мощная, она оставляет расширения открытыми для рисков безопасности и подверженными несовместимости при обновлении браузера.

К концу 2017 года WebExtensions станет единственным API для разработки расширений в Firefox, что сделает все вышеперечисленные методы устаревшими. Mozilla утверждает, что это сделает расширения более безопасными и стабильными в долгосрочной перспективе и значительно упростит их портирование между различными браузерами на основе Chromium, такими как Chrome и Opera.

Все это связано с тем, что Firefox переходит на “многопроцессный” режим

В настоящее время, когда вы открываете окно Firefox, все, начиная от самого браузера, до расширений и веб-страниц, работает как один процесс на вашем ПК. Это означает, что если у вас открыто несколько вкладок и расширений, их работа переплетена, поэтому, если что-то идет не так, это может повлиять и на другие элементы. С многопроцессной архитектурой вы снижаете эту нестабильность за счет большего использования оперативной памяти (распространенная жалоба среди пользователей многопроцессного браузера Chrome). В конечном итоге переход на многопроцессный режим должен ускорить и улучшить опыт веб-серфинга для всех, у кого есть приличный ПК, и помочь браузеру догнать по производительности (и популярности) доминирующий Chrome.

Ниже вы можете увидеть, на сколько процессов делится типичная сессия Chrome по сравнению с Firefox.

webextensions-firefox-explained-firefox-multiprocess

Многопроцессная архитектура будет реализована с использованием технологии под названием Electrolysis (e10s). В последних сборках Firefox вы можете сами включить Electrolysis, чтобы начать использовать многопроцессный Firefox (учитывая, что он все еще находится на стадии тестирования). Для этого перейдите в about:config в вашем браузере Firefox, затем найдите browser.tabs.remote.remote.autostart. Щелкните правой кнопкой мыши, если он установлен на “false” и измените его на “true.” Поздравляем, теперь вы являетесь пионером/тестировщиком многопроцессного Firefox.

webextensions-firefox-explained-multiprocess-about

Почему люди обеспокоены?

Этот сейсмический сдвиг в работе Firefox под капотом сделает многие текущие расширения для Firefox бесполезными, и API WebExtensions предназначен для того, чтобы расширения работали (лучше, чем когда-либо) с новым многопроцессным Firefox. Люди беспокоятся, потому что многие из самых крупных расширений больше не получают обновлений и могут не получить необходимые изменения для работы с новым API WebExtensions, который будет полностью внедрен к концу года.

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

Заключение

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

Вместе с WebExtensions Mozilla также вводит улучшенное песочнице, что увеличит безопасность, фильтруя уровень доступа веб-процессов к Firefox и вашему ПК.

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