Firefox для Android прекращает использование XUL

16 октября 2011 года

Разработчики проекта Mozilla приняли решение отказаться от использования языка XUL при создании интерфейса пользователя в версии Firefox для платформы Android. Вместо XUL будут использованы стандартные механизмы построения интерфейса, предоставляемые платформой Android. В качестве web-движка по прежнему остаётся Mozilla Gecko, который используется и в версии Firefox для настольных систем. Загрузить код прототипа переработанной версии Firefox для платформы Android можно из специально созданного hg-репозитория.

По словам разработчиков, проект пока находится на ранней стадии развития - в настоящее время создан начальный прототип и проводится согласование различных рабочих моментов с командами, занимающимися локализацией и созданием средств для разработки дополнений. Пока неизвестно, когда работа будет доведена до готовности для конечных пользователей, но разработчики уверены, что проект не повлияет на развиваемые параллельно будущие выпуски Firefox для Android, которые находятся на этапе тестирования в ветках Beta и Aurora. Как минимум, Firefox 8 и 9 для Android по прежнему будут базироваться на технологии XUL, включая недавно созданный новый интерфейс для планшетов.

В качестве трёх ключевых мотивов отказа от XUL в пользу NativeUI называется:

  • Уменьшение времени запуска - использование штатного Android API для построения интерфейса позволит заметно увеличить скорость запуска приложения, в основном за счёт возможности параллельной загрузки части, ответственной за интерфейс, и движка Gecko, собранного при помощи Android NDK (Native Development Kit) в виде библиотеки. В итоге запуск браузера будет происходить за доли секунды, а не за несколько секунд;
  • Значительное уменьшение потребление памяти за счёт исключения фазы интерпретации XUL-кода (сам интерпретатор XUL основан на JavaScript и остаётся в Gecko) и использования стандартных виджетов;
  • Увеличение отзывчивости интерфейса, так как родной API позволяет без лишних манипуляций выполнять такие операции как панорамирование и масштабирование. Кроме того, исчезает дополнительный интерпретируемый уровень, приводящий к большим накладным расходам.

Отказ от дополнительной прослойки в виде языка разметки XUL позволит существенно сократить потребление ресурсов, но сделает невозможным установку классических дополнений на базе XUL. Для создания дополнений можно будет использовать только систему Jetpack, которая, в отличие от XUL, не требует изучения особенностей внутреннего устройства браузера и базируется на стандартных web-технологиях HTML, CSS и JavaScript. Кроме простоты разработки, достоинством Jetpack-расширений является возможность мгновенной активации дополнения, без перезагрузки браузера, и отсутствие требований к обеспечению совместимости с будущими версиями браузера. В настоящее время Add-on SDK, базирующийся на Jetpack, интенсивно продвигается разработчиками Mozilla и со временем должен вытеснить XUL.

  • Среди других проблемных моментов ухода от XUL называются потеря переносимости реализации интерфейса и необходимость внедрения новых методов локализации (в настоящее время процесс локализации достаточно плотно завязан на XUL). Что касается переносимости, то основной задачей XUL является обеспечение возможности создания интерфейса, который без изменения может работать на принципиально разных платформах. Интерфейс определяется на универсальном интерпретируемом языке, абстрагированном от особенностей какой-либо платформы. Переход на API Android сделает продукт специфичным для Android и не даст использовать связанные с интерфейсом наработки при создании версий Firefox для других мобильных платформ.

Кроме того, уход от XUL потребует переработки самой концепции формирования интерфейса - вместо самобытного оформления, браузер будет более плотно вписываться в программное окружение, станет походить на другие приложения для Android (см. скриншот) и будет базироваться на стандартных виджетах и элементах управления. Тем не менее, в новой версии планируется сохранить такие особенности, как интеллектуальная адресная строка Awesome Bar, сервис синхронизации Firefox Sync и поддержка навигации на основе вкладок, включая режим вывода эскизов открытых вкладок.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Firefox для Android прекращает использование XUL», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.