Firefox прекратит поддержку XUL-дополнений в конце 2017 года

Разработчики Firefox уточнили планы перехода на API WebExtensions, предназначенного для разработки дополнений, совместимых с браузером Chrome. В качестве опциональной возможноcти, требующей явного включения в настройках, WebExtensions доступен начиная с Firefox 46. По умолчанию включение WebExtensions параллельно с XUL намечено на Firefox 51, что позволит сочетать дополнения написанные с использование старого и нового API. В Firefox 57, который ожидается в конце 2017 года, запланирован полный переход на WebExtensions и прекращение поддержки других типов дополнений.

Для стимулирования перевода дополнений на WebExtensions, после выхода Firefox 53 в апреле 2017 года каталог дополнений Mozilla прекратит генерацию цифровых подписей для новых классических дополнений, написанных с использованием XUL, SDK и XPCOM. Приниматься будут только дополнения на базе WebExtensions. Ограничение касается только новых дополнений для настольных сборок Firefox, обновления к ранее добавленным дополнениям смогут быть подписаны, как и дополнения к Firefox для Android, Thunderbird и Seamonkey. Напомним, что начиная с Firefox 48 проверка по цифровой подписи переведена в разряд обязательных и не может быть отключена в настройках.

В Firefox 57 будут загружаться только подписанные дополнения WebExtensions, подписанные системные дополнения, языковые наборы, словари, плагины OpenSearch и легковесные темы оформления. За оставшееся до блокировки время в Mozilla намерены доработать API WebExtensions и реализовать в нём все необходимые для разработчиков дополнений возможности, в том числе специфичные функции, недоступные в других браузерах.

API WebExtensions построен с использованием штатных web-технологий, а разработка дополнений напоминает создание web-приложений на основе единых стандартов. Переход на новый API позволит унифицировать разработку дополнений с платформами Chrome, Opera, Safari и Edge, и упростить портирование дополнений между различными web-браузерами. Переход на WebExtensions также позволит полноценно использовать многопроцессный режим работы — дополнения WebExtensions могут выполняться в отдельных дочерних процессах, изолированно от остальных частей браузера. Различия между API Chrome и WebExtensions можно отследить на данной странице.

©  OpenNet