Разработчики Mozilla приняли решение прекратить развитие начатого в 2007 году проекта Mozilla Prism, нацеленного на обеспечение возможности интеграции web-приложений в десктоп-окружения и позволявшего организовать работу с web-сервисами и сайтами как с обычными десктоп-приложениями, работающими под управлением максимально урезанного web-браузера. Изучив накопленный в процессе развития проекта Prism опыт, связанный с попытками разрушения границ между web-приложениями и десктоп-программами, был сделан вывод, что развивающийся параллельно продукт Chromeless является более перспективным проектом и в дальнейшем следует уделить ему основное внимание, прекратив распыление усилий на два сходных направления.
С 2007 года многое изменилось и многие возможности Prism оказались устаревшими. Например, для решения задач по распространению приложений была разработана инфраструктура Open Web App, нацеленная на создание каталога web-приложений, предназначенных для локальной установки на машину пользователя и их интеграции в текущее рабочее окружение. В рамках API JetPack были созданы инструменты для более полного контроля над построением интерфейса пользователя и обеспечения взаимодействия с десктопом. API JetPack даёт возможность выйти за границы традиционного web-приложения, просто отображаемого в окне браузера, позволяя обеспечить более полную интеграцию с десктопом, используя такие возможности, как работа с областью уведомлений, обработка событий, работа с буфером обмена, обращение к локальному хранилищу, создание плавающих окон, управление строкой статуса, формирование вкладок, управление анимацией и т.п.
В отличие от Prism, проект Chromeless позволяет не просто создавать однооконный браузерный интерфейс для определённых web-приложений, а даёт возможность создания полноценных десктоп-приложений с использованием web-технологий. Последнее время Chromeless развивается очень интенсивно и уже позволяет обеспечить возможность встраивания браузерного движка для подготовки "инсталлируемых" web-сайтов. Дальнейшие планы Mozilla связаны с обеспечением развития двух направлений: созданием на базе Chromeless полноценного продукта и обеспечение возможности разработки самодостаточных настольных приложений на базе браузерных технологий.
Chromeless является надстройкой над стандартным браузерным движком Gecko и лишён подсистемы "сhrome" (не путать с браузером Chrome), ответственной за формирование пользовательской оболочки (набор XUL-виджетов в Firefox). Вместо пользовательского интерфейса в Chromeless представлен специальный API для быстрого создания собственных интерфейсов, используя стандартные web-технологии - HTML, CSS и JavaScript. Код Chromeless базируется на комбинации XULRunner с Jetpack SDK. Вместо загрузки XUL осуществляется запуск HTML-файла, которому предоставляются дополнительные привилегии, такие как доступ к модулю CommonJS из состава платформы Jetpack. CommonJS позволяет добраться до элементов в самом верху DOM-дерева, устанавливать обработчики для специфичных для операционной системы меню или обращаться к функциям системы нотификации.
|