Firefox на пути сокращения цикла разработки и отказа от XUL

Дэйв Камп (Dave Camp), директор Mozilla по инжинирингу, обозначил основные направления развития Firefox в будущем. Mozilla планирует сократить 18-недельный цикл подготовки релизов и добиться большей оперативности выпуска обновлений. В идеале, исправления с устранением критических проблем планируется выпускать сразу после выявления проблем — исправления должны доставляться за минуты, а не дни.

Новые возможности планируется обкатывать через тестирование, сфокусированное на более узкой аудитории. Из направлений по развитию новшеств отмечается развитие средств для полного управления приватностью пользователя. Кроме того, запущен проект «Great or Dead», в рамках которого планируется проводить чистку имеющихся возможностей, которые не отвечают стандартам качества — все имеющиеся в браузере функции должны быть отполированы, функциональны и удобны в использовании.

Из наиболее важных инженерных проектов отмечается переход к многопроцессной модели обработки контента (проект Electrolysis) и полный пересмотр методов построения интерфейса пользователя, подразумевающий уход от использования основанных на XML языков разметки XUL/XBL в пользу технологий HTML5.

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

Что касается, отказа от XUL/XBL, то в качестве причин упоминается отстранённость данных языков от платформы HTML и web-технологий, нагромождение и усложнение движка Gecko, необходимость обучения web-разработчиков для начала использования XUL, наличие проблем с производительностью, невозможность использования XUL с многопоточным движком Servo, написанном на языке Rust. Переход на более легковесный интерфейс снимет данные проблемы, позволит упростить портирование браузера на новые системы и сгладит различия выпусков для разных платформ.

©  OpenNet