XUL (wym. "zul", ang. XML-based User-interface Language) jest językiem zgodnym z XML używanym do opisu interfejsu WEB oraz GUI, wykorzystywanym pomiędzy innymi w programach Mozilla Suite, Mozilla Firefox, Mozilla Thunderbird, Nvu itp.
XUL nie jest jeszcze standardem publicznym. Pomimo to używa wielu istniejących standardów oraz technologii, włączając CSS, JavaScript, DTD oraz RDF, dzięki czemu jest prosty do nauki dla osób, które zajmują się programowaniem stron internetowych.
Wprowadzenie
Interfejs XUL jest definiowany poprzez trzy ustawienia komponentów:
- Zawartość (Content): Dokumenty XUL, które określają model graficzny interfejsu użytkownika.
- Skórki (Skin): Pliki arkuszy stylów CSS oraz pliki obrazków, które definiują wygląd aplikacji.
- Pliki językowe (Locale): Dokumenty DTD, które definiują encje XML w celu łatwej lokalizacji oprogramowania.
Zastosowanie
XUL jest najczęściej stosowany do tworzenia aplikacji Mozilli oraz jej rozszerzeń, także jest możliwe zastosowanie go do tworzenia aplikacji sieciowych opartych na protokole HTTP. Jedną z najbardziej popularnych aplikacji XUL jest przeglądarka Mozilli – Amazon, która ma bogaty interfejs pozwalający na szukanie książek w Amazon.com.
Elementy XUL
XUL definiuje szeroki zakres elementów, które należą do kilku następujących typów:
- Elementy top-level
- np. window, page, dialog, wizard, itd.
- Widgety
- np. label, button, textbox, listbox, combobox, radio button, checkbox, tree, menu, toolbar, groupbox, tabbox, color picker, spacer, splitter, itd.
- Model pudełkowy
- np. box, grid, stack, deck, itd.
- Zdarzenia oraz skrypty
- np. script, command, key, broadcaster, observer, itd.
- Źródła danych
- np. szablony, reguły itd.
- Inne
- np. overlay (nakładki), iframe, browser, editor, itd.
Przykładowy plik XUL
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css" ?>
<window id="helloworld-window"
title="Witaj, świecie!"
flex="1"
align="center"
xmlns="nullwww.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<description>
Witaj, świecie!
</description>
</window>
Sprawdź też
Linki zewnętrzne