XML User Interface Language - LinkFang.de





XML User Interface Language


XML User Interface Language (XUL) ist eine auf XML-basierende Beschreibungssprache für grafische Benutzeroberflächen (GUIs). 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.

Eigenschaften

XUL erlaubt die Trennung von Layout, Design und Programmcode einer Benutzeroberfläche. Das Layout und damit der grobe Aufbau der Benutzeroberfläche (wie Schaltflächen, Eingabefelder und andere Steuerelemente) wird in XUL festgelegt, während die Darstellung (konkrete Schriftarten, Farben, Linienstile usw.) mit CSS definiert wird. 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. Außerdem können unterschiedliche Stile verwendet werden um die Designs unterschiedlicher Betriebssysteme nachzubilden.

Dadurch, dass XUL-Dateien nicht kompiliert, sondern zur Laufzeit interpretiert werden, ist es auch möglich, als Anwender die Benutzeroberfläche nach eigenen Wünschen zu bearbeiten und zu erweitern, was in Mozilla-Programmen auch automatisiert durch installierbare Add-ons erfolgen kann. Zudem ist die Erstellung neuer Oberflächen einfacher und weniger zeitaufwändig als bei vielen Programmiersprachen.

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-basierte Programme keine speziellen Anpassungen mehr, was die Entwicklung von betriebssystemunanhängigen Anwendungen stark vereinfacht.

Nachteilig ist, dass durch den zusätzlichen Aufwand des Verarbeitens der XUL-Dateien und die notwendigen Berechnungen des Layouts und des Erscheinungsbildes die Verarbeitungs- und Darstellungsgeschwindigkeit häufig langsamer ist als bei nativen Benutzeroberflächen. Da die Betriebssystem-spezifischen Steuerelemente per CSS nachgebildet werden müssen, kann es Unterschiede in Aussehen und Verhalten der Benutzeroberfläche gegenüber nativen Programmen geben.

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>

XUL-basierte Anwendungen

Referenzen auf Ghostbusters

Die Abkürzung XUL hat den Ursprung aus dem 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.

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.

Techniken mit ähnlichem Konzept

Inzwischen gibt es auch andere XML-basierte Formate, die eine Benutzeroberfläche beschreiben, wodurch die namenstehende XUL-Eigenschaft heute nicht mehr so ungewöhnlich ist (vgl. vorheriges Kapitel):

Siehe auch

Literatur

Bücher

Artikel

Weblinks

IDE

Mozilla Developer Center

Sonstiges

Einzelnachweise


Kategorien: Mozilla | XML-basierte Sprache | GUI-Framework

Quelle: Wikipedia - http://de.wikipedia.org/wiki/XML User Interface Language (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.