XUL


XUL (произносится «зул»[2], 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.[3] В форке Firefox Pale Moon сохранена поддержка XUL.[4]

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