XUL

XUL (XML User Interface Language) – wieloplatformowy język znaczników oparty na języku XML służący do opisu graficznego interfejsu użytkownika.

XUL nie jest standardem publicznym. Mimo to używa wielu istniejących standardów i technologii, takich jak: 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 składowe:

  • Zawartość (ang. content) – dokumenty XUL, które określają model graficzny interfejsu użytkownika
  • Skórki (ang. skin) – pliki arkuszy stylów CSS i pliki obrazków, które definiują wygląd aplikacji
  • Pliki językowe (ang. locale) – dokumenty DTD, które definiują encje XML w celu łatwej lokalizacji oprogramowania.

Wykorzystanie

XUL jest używany do opisu interfejsu m.in. w oprogramowaniu Mozilli, takim jak: Mozilla Application Suite, Thunderbird, Firefox (oraz innych przeglądarkach na nim bazujących), lecz istnieje także możliwość zastosowania go do tworzenia aplikacji sieciowych opartych na protokole HTTP.

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 i 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="Hello, world!"
        flex="1"
        align="center"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <description>
     Hello, world!
  </description>
</window>

Zobacz też

  • XBL
  • Extensible Application Markup Language
  • Windows Presentation Foundation

Linki zewnętrzne

  • XUL na Mozilla Developer Network. developer.mozilla.org. [zarchiwizowane z tego adresu (2018-08-30)].
  • p
  • d
  • e
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
i strukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne
  • p
  • d
  • e
Biblioteki graficzne
Niskopoziomowe
Wysokopoziomowe
Na AmigaOS
  • BOOPSI
  • MUI
  • ReAction GUI
  • Zune
Na macOS
  • Carbon
  • Cocoa
  • MacApp
  • MacZoop
  • PowerPlant
Na Windows
Na Unix,
bez X11
  • Athena (Xaw)
  • InterViews
  • LessTif
  • Motif
  • OPEN LOOK
Wieloplatformowe,
według języka
CLI
  • Gtk#
  • Moonlight
  • Tao
C
Objective-C
  • GNUstep
C++
Flash
  • Apache Flex
Java
Desktop
Web
JavaScript
Common Lisp
  • CAPI
  • Common Graphics
  • CLIM
  • Ltk
  • McCLIM
Pascal
  • LCL
Object Pascal
  • CLX
  • fpGUI
  • IP Pascal
  • LCL
Perl
  • wxPerl
  • Perl/Tk
PHP
Python
Ruby
  • Shoes
  • QtRuby
XML
  • Ample SDK
  • CougarXML
  • GladeXML
  • Lively Kernel
  • Pyjamas
  • Rialto Toolkit
  • XAML
  • XUI
  • XUL
  • Wt
  • p
  • d
  • e
Produkty Fundacji Mozilla
Oparte na kodzie źródłowym Mozilli
Pojęcia powiązane
  • LCCN: sh2002007597
  • GND: 7560706-2
  • BnF: 150215315
  • J9U: 987007556763205171