XUL
XUL (произносится «зул»[1], XML User Interface Language) — язык разметки для создания динамических пользовательских интерфейсов на основе XML. XUL разрабатывается в рамках проекта Mozilla и является частью платформы XULRunner.
XUL | |
---|---|
Расширение |
.xul |
MIME-тип |
application/ vnd.mozilla.xul+xml |
Разработчик | Mozilla Foundation |
Тип формата | язык разметки |
Сайт | developer.mozilla.org/… (англ.) |
XUL | |
---|---|
Класс языка | Декларативный (язык разметки) |
Разработчик | Mozilla Foundation |
Расширение файлов |
.xul |
Основные реализации | Mozilla |
Испытал влияние | HTML и XML |
Лицензия | MPL |
Сайт | developer.mozilla.org/ru… |
Платформа | Gecko |
ОС | Cross-platform |
XUL разработан для создания интерфейсов в таких программах как браузеры, почтовые клиенты и т. д. Однако, XUL можно достаточно эффективно использовать для создания любых приложений, активно взаимодействующих с веб-ресурсами.
Тем не менее, XUL изначально предназначался для работы с Gecko в составе продуктов Mozilla, и его составляющие полностью контролировались процессом их разработки. Это позволяло Mozilla Foundation легко добавлять нужные им функции в ущерб стандартности (например, использования какого-нибудь другого языка).
Как и в случае с HTML, XUL позволяет описывать интерфейсы посредством использования языка разметки, задавать внешний вид приложения, используя CSS, и определять поведение приложения, используя JavaScript. Но, в отличие от HTML, используя XUL, можно создавать динамику в пользовательском интерфейсе намного быстрее и удобнее. Например, выпадающее меню можно реализовать с помощью нескольких предназначенных для этого тегов, не требующих громоздкой конструкции на JavaScript и/или CSS, как это потребовалось бы в HTML.
XUL активно использовался для написания расширений для браузера Mozilla Firefox и почтового клиента Mozilla Thunderbird. Большая часть интерфейса этих двух программ написана на XUL. В августе 2015 года Mozilla объявила использование XUL для создания расширений Firefox устаревшей технологией, от которой планируется отказаться в пользу WebExtensions.[2] В форке Firefox Pale Moon сохранена поддержка XUL.[3]
Пример
Следующий пример демонстрирует 3 кнопки, размещённые одна над другой в вертикальном («vbox») контейнере:[4]
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="vbox example" title="Example 3...."
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox>
<button id="yes" label="Yes"/>
<button id="no" label="No"/>
<button id="maybe" label="Maybe"/>
</vbox>
</window>
Приложения с интерфейсом на XUL
- Firefox, Thunderbird, Sunbird и другие проекты Mozilla
- Songbird
- Miro
- Komodo IDE, Komodo Edit
- Spicebird
- Instantbird
- XULPlayer
- Cyclone3
- SeaMonkey
- Zotero
Прекращение развития
В 2016 году Mozilla объявила о том, что Firefox 57 будет целиком переведён на WebExtensions, а функции XUL будут вырезаны. В связи с этим на официальном сайте дополнений был прекращён приём новых дополнений с использованием XUL, а в октябре 2017 года было заявлено, что XUL-дополнения будут доступны на официальном сайте дополнений до июня 2018 года.
В связи с этим разработчиками облегчённого браузера Pale Moon был начат проект Unifed XUL Platform (Codename: Möbius)[5]. 17 ноября 2017 года была выпущена первая версия экспериментального браузера Basilisk[6], основанного на этом движке[7].
См. также
Примечания
- Cedric Savarese. XUL-Enhanced Web Apps (англ.). O’Reilly Media (6 февраля 2007 года). Дата обращения: 5 апреля 2010. Архивировано 27 августа 2011 года.
- Kev Needham. The Future of Developing Firefox Add-ons . blog.mozilla.org (21 августа 2015). Дата обращения: 7 сентября 2015.
- Pale Moon future roadmap . Pale Moon (9 мая 2016). Дата обращения: 8 июня 2016.
- The Box Model
- Проект UXP - Unified XUL Platform на сайте GitHub
- Moonchild. Basilisk web browser . www.basilisk-browser.org. Дата обращения: 26 ноября 2017.
- First Basilisk version released! - Pale Moon forum (англ.). forum.palemoon.org. Дата обращения: 26 ноября 2017.
Ссылки
- XUL.ru — новости, ссылки, самоучитель XUL на русском языке
- Mozilla XUL (англ.) — официальный сайт документации «Mozilla XUL documentation»
- XUL_Reference (англ.) — документации по XUL для разработчиков
- Xul Runner (англ.) — запуск XUL-приложений отдельно от браузера Mozilla
- Xul (англ.) and Xul Dev project (англ.)
- O`Reilly. «Creating Applications with Mozilla» (англ.) — Глава 2: Начало работы