Interested Article - XUL

Окно настройки Mozilla Firefox 1.5 сделано с использованием XUL (заголовок — от менеджера окон)

XUL (произносится «зул» , XML User Interface Language) — язык разметки для создания динамических пользовательских интерфейсов на основе XML . XUL разрабатывается в рамках проекта Mozilla и является частью платформы XULRunner .

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 . В форке Firefox Pale Moon сохранена поддержка XUL.

Пример

Следующий пример демонстрирует 3 кнопки, размещённые одна над другой в вертикальном («vbox») контейнере:

<?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

Прекращение развития

В 2016 году Mozilla объявила о том, что Firefox 57 будет целиком переведён на WebExtensions, а функции XUL будут вырезаны. В связи с этим на официальном сайте дополнений был прекращён приём новых дополнений с использованием XUL, а в октябре 2017 года было заявлено, что XUL-дополнения будут доступны на официальном сайте дополнений до июня 2018 года.

В связи с этим разработчиками облегчённого браузера Pale Moon был начат проект Unifed XUL Platform (Codename: Möbius) . 17 ноября 2017 года была выпущена первая версия экспериментального браузера Basilisk , основанного на этом движке .

С марта 2023 XUL удалён из кодовой базы Firefox .

См. также

Примечания

  1. Cedric Savarese. (англ.) . O’Reilly Media ( 6 февраля 2007 года ). Дата обращения: 5 апреля 2010. 27 августа 2011 года.
  2. Kev Needham. (неопр.) . blog.mozilla.org (21 августа 2015). Дата обращения: 7 сентября 2015. 5 сентября 2015 года.
  3. (неопр.) . Pale Moon (9 мая 2016). Дата обращения: 8 июня 2016. 1 апреля 2021 года.
  4. (неопр.) . Дата обращения: 27 ноября 2016. Архивировано из 9 декабря 2017 года.
  5. на сайте GitHub
  6. Moonchild. (неопр.) . www.basilisk-browser.org. Дата обращения: 26 ноября 2017. 21 июля 2017 года.
  7. (англ.) . forum.palemoon.org. Дата обращения: 26 ноября 2017. 1 декабря 2017 года.
  8. (неопр.) . Дата обращения: 2 апреля 2023. 2 апреля 2023 года.

Ссылки

  • — новости, ссылки, самоучитель XUL на русском языке
  • (англ.) — официальный сайт документации «Mozilla XUL documentation»
  • (англ.) — документации по XUL для разработчиков
  • (англ.) — запуск XUL-приложений отдельно от браузера Mozilla
  • (англ.) and (англ.)
  • (англ.) — Глава 2: Начало работы

Same as XUL