XML User Interface Language

XML User Interface Language

XML User Interface Language, kurz: XUL [ˈzuːl], ist eine auf XML basierende Beschreibungssprache für grafische Benutzeroberflächen (GUI). Sie wurde ursprünglich für das Mozilla-Projekt entwickelt, wird aber inzwischen auch von anderer Software genutzt.

In Mozilla-Anwendungen, wie Firefox, Thunderbird, Seamonkey oder Netscape, wird die gesamte Benutzeroberfläche aus XUL-Dateien erzeugt. Dabei kommt die „Gecko Rendering Engine“ zum Einsatz, die auch für die Darstellung von Webseiten verwendet wird.

Bei einer Portierung auf eine bestimmte Betriebssystem-Plattform muss das komplette Mozilla-XUL-Toolkit auf die neue Plattform portiert werden. Im Gegenzug benötigen nach einer derartigen Portierung XUL-GUIs keine speziellen Anpassungen mehr.

Inhaltsverzeichnis

Vorteile

Durch XUL wird die Trennung von Layout und Design der Oberfläche ermöglicht, denn die Darstellung einer XUL-Benutzeroberfläche wird nicht in XUL selbst festgelegt, sondern mit CSS. Aus diesem Grund ist es durch das einfache Auswechseln der CSS-Stile möglich, das Benutzen von verschiedenen Skins zu ermöglichen, wie es beispielsweise in Mozilla Firefox der Fall ist. Dadurch, dass XUL-Dateien nicht kompiliert, sondern zur Laufzeit interpretiert werden, ist es möglich, auch als Anwender die Benutzeroberfläche nach eigenen Wünschen zu bearbeiten und zu erweitern, was in Mozilla-Programmen auch automatisiert durch installierbare Erweiterungen erfolgen kann. Zudem ist die Erstellung neuer Oberflächen einfacher und weniger zeitaufwändig als bei vielen Programmiersprachen.

Weitere Vorteile sind:

  • XML-konforme Beschreibungssprache
  • Offener Quellcode durch Nutzung von XML
  • Einsetzbar auf vielen Betriebssystemen
  • Konsistentes Erscheinungsbild auf den verschiedenen Plattformen
  • Sofern das XUL-Toolkit auf die verschiedenen Plattformen portiert worden ist, können XUL-Benutzeroberflächen betriebssystemübergreifend und unkompliziert neu erstellt oder bearbeitet werden.

Nachteile

Durch den zusätzlichen Aufwand des Verarbeitens der XUL-Dateien und die notwendigen Berechnungen des Layouts und des Erscheinungsbildes ist die Verarbeitungs- und Darstellungsgeschwindigkeit häufig langsamer als bei nativen Benutzeroberflächen.

Da die Benutzeroberfläche durch die „Gecko Rendering Engine“ dargestellt wird und nicht direkt durch das Betriebssystem, auf dem die Anwendung läuft, kann sich die Bedienung und Darstellung geringfügig von nativen Programmen unterscheiden.

Aufbau einer XUL-Datei

Eine einfache XUL-Datei könnte so aussehen:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="sample-window"
        title="Beispiel"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <vbox>
        <checkbox label="CheckBox"/> 
        <hbox>
            <spacer flex="1"/>
            <button label="OK"/>
            <button label="Abbrechen"/>
        </hbox>
    </vbox>
</window>
Darstellung in Mozilla Firefox

Referenzen auf Ghostbusters

Die Bezeichnung XUL hat den Ursprung im Film Ghostbusters, in dem der Geist des Halbgottes Zuul, der Dana Barrett in Besitz genommen hat, behauptet: „There is no Dana, there is only Zuul.“. Die Entwickler von XUL übernahmen diesen Satz leicht modifiziert als „There is no data, there is only XUL.“ und wiesen damit auf die ungewöhnliche Eigenschaft von XUL als XML-Sprache hin, keine Daten oder Dokumente zu enthalten, sondern eine Benutzeroberfläche zu beschreiben[1].

Weitere Referenzen auf den Film Ghostbusters kann man an der XML-Namespace-URI, http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul, ablesen, die sich am Anfang von jeder XUL-Datei befindet. Keymaster und Gatekeeper beziehen sich hier auch auf Charaktere aus dem Film. Ruft man die Adresse im Webbrowser auf, erscheint der zuvor genannte Satz „There is no data, there is only XUL.“.

In Mozilla-Software befinden sich nicht nur in XUL Hinweise auf „Ghostbusters“. Auch Venkman, der JavaScript-Debugger des Projektes, ist nach einer Figur aus Ghostbusters benannt.

XUL-basierte Anwendungen

Techniken mit ähnlichem Konzept

  • NeXTs Implementierung des Model View Controller-Modells hat die Beschreibung der GUI in NIB-Dateien gespeichert, aus denen die Anwendung die Oberfläche zur Laufzeit initialisierte. Allerdings wurden darin sowohl die grafischen Eigenschaften, als auch die Logik der GUI beschrieben. Das Konzept wurde in Apples Mac OS fortgeführt und verwendet seit XCode 3.0 XML-Dateien.
  • Microsoft verfolgt ein ähnliches Konzept mit seiner Beschreibungssprache XAML. XAML ist ein grundlegendes Konzept in Windows Vista, wird jedoch ebenso in Anwendungen für Windows XP verwendet.
  • UIML
  • XForms
  • eNode
  • AUIML
  • ZUL aus dem ZK (Framework)

Literatur

Bücher

Artikel

Siehe auch

Weblinks

Mozilla Developer Center

IDE

Sonstiges

Einzelnachweise

  1. Inzwischen gibt es auch andere XML-basierte Formate, die eine Benutzeroberfläche beschreiben (siehe Techniken mit ähnlichem Konzept), wodurch diese Eigenschaft heute nicht mehr so ungewöhnlich ist

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • XML User Interface Language — Окно настройки Mozilla Firefox 1.5 сделано с использованием XUL (заголовок  от менеджера окон) XUL (произносится «зул», XML User Interface Language)  язык разметки для создания динамических пользовательских интерфейсов на основе Mozilla и… …   Википедия

  • XML User-interface Language — XUL kalba statusas T sritis informatika apibrėžtis ↑XML kalbos pagrindu sukurta kalba, naudojama kai kurių programų ↑grafinės sąsajos elementams aprašyti. Turi įvairių ↑langų, ↑valdiklių (↑mygtukų, ↑žymimųjų langelių, ↑teksto langelių,… …   Enciklopedinis kompiuterijos žodynas

  • XML-based user interface language — XML User Interface Language (XUL) Extension de fichier .xul Type MIME application/vnd.mozilla.xul+xml Développé par Fondation Mozilla Type de format …   Wikipédia en Français

  • Xml-based user interface language — XML User Interface Language (XUL) Extension de fichier .xul Type MIME application/vnd.mozilla.xul+xml Développé par Fondation Mozilla Type de format …   Wikipédia en Français

  • XML-based User interface Language — XML User Interface Language (XUL) Extension .xul Type MIME application/vnd.mozilla.xul+xml Développé par Fondation Mozilla Type de format Langage de balisage Spécification Format ouvert …   Wikipédia en Français

  • eXtensible User-interface Language — XUL kalba statusas T sritis informatika apibrėžtis ↑XML kalbos pagrindu sukurta kalba, naudojama kai kurių programų ↑grafinės sąsajos elementams aprašyti. Turi įvairių ↑langų, ↑valdiklių (↑mygtukų, ↑žymimųjų langelių, ↑teksto langelių,… …   Enciklopedinis kompiuterijos žodynas

  • XML-based User-interface Language — Ejemplo de aplicación XUL. XUL (acrónimo de XML based User interface Language, lenguaje basado en XML para la interfaz de usuario) es la aplicación de XML a la descripción de la interfaz de usuario en el navegador Mozilla. XUL no es un estándar.… …   Wikipedia Español

  • User interface markup language — A user interface markup language is a markup language that renders and describes graphical user interfaces. Many of these markup languages are dialects of XML.User interface markup languagesUIMLUIML is the earliest pioneer in user interface… …   Wikipedia

  • Magic User Interface — Developer(s) Stefan Stuntz Initial release 1993; 18 years ago (1993) …   Wikipedia

  • OpenGL User Interface Library — GLUI Screenshot  Demonstration of the GLUI program Developer(s) …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”