Multiprocess Firefox

Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского

В более старых версиях Firefox для ПК, весь браузер обрабатывался в пределах одного процесса операционной системы. В частности, JavaScript, который обрабатывал интерфейс браузера (также известный как "chrome code") и JavaScript, который выполнялся на веб-страницах (также известный как "контент" или "веб-контент") не были разделены.

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

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

Вместо доступа к веб-контенту на прямую, chrome-код должен будет использовать message manager. Чтобы облегчить этот переход, мы реализовали Cross Process Object Wrappers и некоторые средства совместимости для разработчиков дополнений.  Если вы являетесь разработчиком дополнений и задаётесь вопросом, затронут ли на вас эти изменения, обратитесь к руководству по работе с многопроцессным Firefox.


Technical overview
Высокоуровневый обзор того, как реализуется многопроцессность Firefox.
Web content compatibility guide
Руководства и детали о потенциальных проблемах совместимости веб-сайтов, которые могут возникнуть в связи с переходом на новую систему. Примечание: их не так уж и много!
Glossary
Словарь терминов, используемых в многопроцессном Firefox.
Message manager
Полное руководство по объектам, используемым для связи между chrome-кодом и веб-контентом.
SDK-based add-ons
Как перевести дополнения на новую систему, разработанные с помощью Add-on SDK.
Which URIs load where
Краткое руководство к тому, в какой процесс загружаются URI - chrome:, about:, file:, resource: .

Motivation
Почему мы внедряем многопроцессность в Firefox: производительность, безопасность и стабильность.
Add-on migration guide
Если вы разработчик дополнений, узнайте, затрагивает ли вас проект и как обновить свой код.
Cross Process Object Wrappers
Cross Process Object Wrappers - это вспомогательное средство для перехода к новой системе, предоставляющее chrome-код синхронного доступа к веб-контенту.
Debugging content processes
Как отлаживать код, запущенный в рамках процесса контента, в том числе скрипты фреймов и процессов.
Tab selection in multiprocess Firefox
Как работает переключение между вкладками в многопроцессном Firefox.

Limitations of chrome scripts
Методики которые не будут больше работать в chrome-код., и как их обновить.
Limitations of frame scripts
Методики которые не будут больше работать в скриптах фрейма, и что делать вместо этого.

Свяжитесь с нами

Узнайте больше о проекте, присоеденяйтесь, или задайте нам свои вопросы.