- PVSM.RU - https://www.pvsm.ru -

Firefox превращается в Chrome, отказываясь от поддержки старых дополнений

image

Вчера Mozilla Foundation объявила [1] о грядущих серьёзных изменениях в работе браузера Firefox. Стараясь не отставать от современных тенденций, браузер переходит на такую схему работы, где каждой отдельной вкладке будет соответствовать отдельный процесс. К сожалению, внедрение этой схемы означает, что браузеру придётся отказаться от поддержки дополнений, работающих при помощи текущего API.

Проект Electrolysis [2], который как раз должен обеспечить работу каждой вкладки со своим процессом, появился ещё в 2009 году. Но с тех пор он крайне вяло развивался, и постоянно переходил в стадию заморозки. Основная проблема, с которой столкнулись разработчики – невозможность подружить проект с существующим API для дополнений.

Текущее API браузера называется XPCOM (кросплатформенная объектная модель компонентов), позволяющая писать дополнения на различных языках: C++, JavaScript, Java, через слой абстракции XPConnect. Эта система помогла появлению огромного количества дополнений к браузеру, что сыграло не последнюю роль в наборе им популярности.

XPCOM позволяет дополнениям взаимодействовать с браузером на достаточно интимном уровне, дополняя и изменяя поведение всех его компонентов, от элементов интерфейса до рендера страниц. К сожалению, эта система имеет и обратную сторону – её очень сложно скрестить с идеей Electrolysis и отдельными процессами для каждой вкладки. По канонам этой идеи все дополнения должны работать в отдельных от основного браузера процессах, а в такой форме их взаимодействие с внутренностями Firefox крайне затруднено.

В попытках скрестить эти две сущности Mozilla вводила протокол CPOWs (cross process object wrappers, межпроцессные объектные обёртки), для общения между процессами. Но система получилась медленной, к тому же она не обрабатывает все возможные сценарии взаимодействия. В связи с этим от неё также решено отказаться.

Firefox обещает сохранить поддержку дополнений, использующих высокоуровневый API, если они не будут использовать XUL (язык разметки для создания динамических пользовательских интерфейсов на основе XML). В целом XPCOM, XUL и CPOW исчезнут из браузера через год-полтора.

В результате Mozilla внедряет API под названием WebExtensions [3] на основе JavaScript и HTML, которое уже используют Chrome и Opera, а Microsoft добавляет очень похожую вещь в свой Edge. Так что положительная сторона этой затеи состоит в том, что разработчикам очень просто (теоретически) будет писать дополнения, которые будут работать во всех современных браузерах.

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

Кроме этого, заботясь о безопасности пользователей, Mozilla постепенно вводит обязательную сертификацию дополнений к браузеру. Уже начиная с 42-й версии браузера, которая появится в ноябре, невозможно будет установить дополнения без цифровой подписи. Такую подпись получат только те дополнения, которые будут одобрены организацией, и будут распространяться через репозиторий addons.mozilla.org.

Автор: SLY_G

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/brauzery/96598

Ссылки в тексте:

[1] Вчера Mozilla Foundation объявила: https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons/

[2] Electrolysis: https://wiki.mozilla.org/Electrolysis

[3] WebExtensions: https://wiki.mozilla.org/WebExtensions

[4] Источник: http://geektimes.ru/post/260686/