Лаборатория Mozilla представила проект
Chromeless,
нацеленный на упрощение разработки альтернативных пользовательских интерфейсов
для web-браузера. Chromeless представляет собой лишь основной костяк надстроек
над браузерным движком Gecko, лишенный подсистемы "сhrome" (не путать с
браузером Chrome), ответственной за формирование пользовательской оболочки для
вывода web-страницы на экран (набор XUL-виджетов в Firefox). Вместо
пользовательского интерфейса в Chromeless представлен специальный API для
быстрого создания собственных интерфейсов, используя стандартные web-технологии
— HTML, CSS и JavaScript.

По задумке разработчиков технология XUL достаточно сложна и требует
дополнительного изучения многих технологий, что замедляет подключение новых
разработчиков к развитию браузера. Построив интерфейс на базе всем известных
web-технологий, круг лиц способных начать эксперименты по улучшению интерфейса
существенно расширяется и снижается порог вхождения разработчика в проект. В
итоге, представители Mozilla надеются, что благодаря своей простоте Chromeless
будет способствовать апробированию новых концепций построения интерфейса,
создать макет которого теперь можно сосредоточив усилия на развитии творческой
мысли, без углубления в тонкости XUL.

Цель проекта именно создание макетов и эксперименты, удачные идеи из которых
впоследствии могут быть перенесены в базовый интерфейс Firefox, в котором пока
не планируется уходить от использования XUL. В настоящий момент проект находится
на стадии создания начального прототипа фреймворка, способного загружать
HTML-страницы и формировать пользовательский интерфейс.

Прототип базируется на комбинации XULRunner с Jetpack SDK. Вместо загрузки
XUL осуществляется запуск HTML-файла, которому предоставляются дополнительные
привилегии, такие как доступ к модулю CommonJS из состава платформы Jetpack
(пример кода для создания интерфейса на базе табов, изображенного на скриншоте).
CommonJS позволяет добраться до элементов в самом верху DOM-дерева,
устанавливать обработчики для специфичных для операционной системы меню или
обращаться к функциям системы нотификации. В ближайшие месяцы будет подготовлен
специальный API для создания более содержательных браузерных конструкций, будет
обеспечен режим изоляции подсистем обработки web-контента и прорисовки
интерфейса.

Оставить мнение