XML User Interface Language
aus Wikipedia, der freien Enzyklopädie
| Gesichtet | ||
Dies ist die letzte gesichtete Version,
(zeige alle), freigegeben am 9. Mai 2008.
|
XML User Interface Language, kurz: XUL, 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 Netscape, Seamonkey, Firefox oder Thunderbird 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 |
[Bearbeiten] Vorteile
Durch XUL wird die Trennung von Layout und Design der Oberfläche ermöglicht, denn das Erscheinungsbild einer XUL-Benutzeroberfläche wird nicht in XUL selbst festgelegt, sondern in Cascading Style Sheets. Aus diesem Grund ist es durch das einfache Auswechseln der Style Sheets 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
- Freier 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.
[Bearbeiten] Nachteile
Durch den zusätzlichen Aufwand des Verarbeitens der XUL-Dateien und den 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 leicht von anderen Programmen des gleichen Systems unterscheiden.
[Bearbeiten] 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
|
[Bearbeiten] Kurioses
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.
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 jedem XUL-Dokument 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 Mozilla-Projektes, ist nach Dr. Venkman benannt, einer Figur aus Ghostbusters.
[Bearbeiten] XUL-basierte Anwendungen
- ActiveState Komodo IDE (IDE für Perl, Mason, Ruby, Ruby on Rails, Tcl, Python, PHP, JavaScript, XML, XSLT, XUL, XPCOM und XBL) und Open Komodo Project
- Celtx
- Cyclone3
- Google AdWords-Editor
- Joost
- KompoZer, Nachfolger des HTML-Editors Nvu
- Mozilla Application Suite
- Mozilla Firefox
- Mozilla Sunbird
- Mozilla Thunderbird
- die Software der Begleit-CD des Oxford Advanced Learner's Dictionary
- Premiere Desktop TV-Guide (elektronische Programmzeitschrift)
- SeaMonkey
- Songbird
- Symphony OS
- XUL Explorer IDE zum Erstellen von XUL Applikationen
[Bearbeiten] Techniken mit ähnlichem Konzept
- Microsoft verfolgt ein ähnliches Konzept in Windows Vista und nennt diese Sprache XAML.
[Bearbeiten] Literatur
[Bearbeiten] Bücher
- Kenneth C. Feldt: Programming Firefox 2007 O'Reilly; ISBN 0596102437
- Arne Blankerts, Carola Kummert, Tobias Struckmeier: Rich Clients mit Mozilla XUL. Die Mozilla XML Userinterface Language 2007 entwickler.press; ISBN 3939084611
- Jonathan Protzenko: XUL. 2006 Open Source Press; ISBN 3-937514-23-6
- Nigel McFarlane: Rapid Application Development with Mozilla. 2003 Prentice Hall PTR; 1st edition ISBN 978-0131423435
- David Boswell, Brian King, Ian Oeschger, Pete Collins, Eric Murphy: Creating Applications with Mozilla. 2002 O'Reilly; 1st edition ISBN 0-596-00052-9
- Vaughn Bullard, Kevin T. Smith, Michael C. Daconta: Essential XUL Programming. 2001 Wiley; 1st edition ISBN 978-0471415800
[Bearbeiten] Artikel
- Sebastian Kortemeyer, Professor Dr. Frank Thiesing: Gute Beschreibung: Webanwendung mit XUL und SVG gestalten. c't 5/2008, S. 202
- Karsten Düsterloh: XUL-Tutorial I: Basiselemente der Browsererweiterung iX 7/2005, S. 124
- Karsten Düsterloh: XUL-Tutorial II: Bäume und Templates iX 8/2005, S. 148
- Karsten Düsterloh: XUL-Tutorial III: Mail-Erweiterung Mistory iX 9/2005, S. 154
- Karsten Violka, Andreas Otte: Das Monster aus XUL. c't 20/02, Seite 232
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
[Bearbeiten] Mozilla Developer Center
- XUL
- XUL Tutorial (Tutorial)
- XUL Tutorial (Tutorial auf Deutsch)


