<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=XML_User_Interface_Language</id>
	<title>XML User Interface Language - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=XML_User_Interface_Language"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=XML_User_Interface_Language&amp;action=history"/>
	<updated>2026-05-18T18:30:10Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=XML_User_Interface_Language&amp;diff=73730&amp;oldid=prev</id>
		<title>imported&gt;Thomas Dresler: Typografie</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=XML_User_Interface_Language&amp;diff=73730&amp;oldid=prev"/>
		<updated>2026-03-14T22:04:10Z</updated>

		<summary type="html">&lt;p&gt;Typografie&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;XML User Interface Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;XUL&amp;#039;&amp;#039;&amp;#039;) ist eine auf [[Extensible Markup Language|XML]]-basierende [[Auszeichnungssprache|Beschreibungssprache]] für [[grafische Benutzeroberfläche]]n (GUIs). Sie wurde ursprünglich für das [[Mozilla]]-Projekt entwickelt, aber auch von anderer Software genutzt. In Mozilla-[[Anwendungssoftware|Anwendungen]], wie [[Mozilla Firefox|Firefox]], [[Mozilla Thunderbird|Thunderbird]], [[SeaMonkey]] oder [[Netscape Navigator|Netscape]], wird bzw. wurde die Benutzeroberfläche mit Hilfe von XUL erzeugt, wobei die [[Gecko (Software)|Gecko]]-Rendering-Engine genutzt wird, die auch für die Darstellung von [[Webseite]]n verwendet wird.&lt;br /&gt;
&lt;br /&gt;
XUL gilt inzwischen als veraltet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL |titel=XUL – Archive of obsolete content {{!}} MDN |datum=2019-10-22 |abruf=2021-08-22 |archiv-url=https://web.archive.org/web/20191022105730/https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL |archiv-datum=2019-10-22}}&amp;lt;/ref&amp;gt; Im Firefox-Browser können seit Ende 2017 keine XUL-basierten Erweiterungen mehr installiert werden.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://developer.mozilla.org/de/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions |titel=Was sind WebExtensions? - Mozilla {{!}} MDN |sprache=en-US |abruf=2021-08-22}}&amp;lt;/ref&amp;gt; 2019 begannen Mozilla-Entwickler, XUL-Elemente der Benutzeroberfläche weitgehend durch gewöhnliche [[Hypertext Markup Language|HTML]]-Elemente zu ersetzen, wie sie auch von Webseiten verwendet werden.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://bugzilla.mozilla.org/show_bug.cgi?id=1563415 |titel=1563415 – (de-xul-elements) &amp;amp;lsqb;meta&amp;amp;rsqb; Start using HTML elements to replace XUL elements |sprache=en |abruf=2021-08-22}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Firefox-[[Abspaltung (Softwareentwicklung)|Ableger]] [[Pale Moon]] besitzt mit &amp;#039;&amp;#039;Goanna&amp;#039;&amp;#039; einen [[Abspaltung (Softwareentwicklung)|Fork]] der ursprünglichen Gecko-Rendering-Engine, in der weiterhin XUL unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
XUL erlaubt die [[Lose Kopplung|Trennung]] von [[Layout]], [[Design]] und [[Programmcode]] einer Benutzeroberfläche. Das Layout und damit der grobe Aufbau der Benutzeroberfläche (wie [[Schaltfläche]]n, [[Textfeld|Eingabefelder]] und andere [[Steuerelement]]e) wird in XUL festgelegt, während die Darstellung (konkrete Schriftarten, Farben, Linienstile usw.) mit [[Cascading Style Sheets|CSS]] definiert wird. Unterschiedliche Themes ([[Skin (Computer)|Skins]]), auch zum Nachempfinden des Aussehens unterschiedlicher Betriebssysteme, können dann relativ einfach durch Auswechseln der CSS-Stile erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
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 prinzipiell auch automatisiert durch installierbare [[Add-on]]s erfolgen kann. Dies war zum Beispiel im Firefox-Browser bis zur Version 56 möglich,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Overlay_Extensions |titel=Overlay extensions |sprache=en |archiv-url=https://web.archive.org/web/20180513001452/https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Overlay_Extensions |archiv-datum=2018-05-13 |abruf=2019-08-30}}&amp;lt;/ref&amp;gt; seitdem funktionieren nur noch Erweiterungen, die das modernere, aber restriktivere [[WebExtensions]]-Format nutzen.&lt;br /&gt;
&lt;br /&gt;
Die Erstellung neuer Oberflächen in XUL ist einfacher und weniger zeitaufwendig als bei vielen Programmiersprachen. Bei einer [[Portierung (Software)|Portierung]] auf eine bestimmte [[Betriebssystem]]-[[Plattform (Computer)|Plattform]] muss das gesamte 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 betriebssystemunabhängigen Anwendungen stark vereinfacht.&lt;br /&gt;
&lt;br /&gt;
Nachteilig ist, dass durch den zusätzlichen Aufwand des Verarbeitens der XUL-[[Datei]]en 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.&lt;br /&gt;
&lt;br /&gt;
== Aufbau einer XUL-Datei ==&lt;br /&gt;
Eine einfache XUL-Datei könnte so aussehen:&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet href=&amp;quot;chrome://global/skin/&amp;quot; type=&amp;quot;text/css&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;window id=&amp;quot;sample-window&amp;quot;&lt;br /&gt;
        title=&amp;quot;Beispiel&amp;quot;&lt;br /&gt;
        xmlns=&amp;quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;vbox&amp;gt;&lt;br /&gt;
        &amp;lt;checkbox label=&amp;quot;CheckBox&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;hbox&amp;gt;&lt;br /&gt;
            &amp;lt;spacer flex=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;button label=&amp;quot;OK&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;button label=&amp;quot;Abbrechen&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/hbox&amp;gt;&lt;br /&gt;
    &amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-top:12px;&amp;quot; width=&amp;quot;204&amp;quot;| [[Datei:XUL-Beispiel.png|gerahmt|ohne|Darstellung in [[Mozilla Firefox]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== XUL-basierte Anwendungen ==&lt;br /&gt;
* ActiveState [[Komodo IDE]] ([[Integrierte Entwicklungsumgebung|IDE]] für [[JavaScript]], [[Mason (Perl)|Mason]], [[Perl (Programmiersprache)|Perl]], [[PHP]], [[Python (Programmiersprache)|Python]], [[Ruby (Programmiersprache)|Ruby]], [[Ruby on Rails]], [[Tcl]], [[XML Binding Language|XBL]], [[Extensible Markup Language|XML]], [[Cross Platform Component Object Model|XPCOM]], [[XSL Transformation|XSLT]] und XUL) und [[Open Komodo Project]]&lt;br /&gt;
* [[Bluegriffon]] – Nachfolger von Kompozer&lt;br /&gt;
* [[Celtx]]&lt;br /&gt;
* [[Cyclone3]]&lt;br /&gt;
* die Software der Begleit-CD des Oxford Advanced Learner’s Dictionary&lt;br /&gt;
* die visuelle Programmierumgebung [[Symphony OS#Orchestra|Orchestra (Symphony OS)]]&lt;br /&gt;
* [[Flock (Browser)]]&lt;br /&gt;
* Google AdWords-Editor&lt;br /&gt;
* [[Instantbird]] – auf XUL- und libpurple-basierender Instant Messenger&lt;br /&gt;
* [[Joost (Software)|Joost]]&lt;br /&gt;
* &amp;#039;&amp;#039;[[KompoZer]]&amp;#039;&amp;#039; – HTML-Editor (Nachfolger von Nvu)&lt;br /&gt;
* [[Mozilla Application Suite]]&lt;br /&gt;
* [[Mozilla Firefox]]&lt;br /&gt;
* [[Mozilla Sunbird]]&lt;br /&gt;
* [[Mozilla Thunderbird]]&lt;br /&gt;
* Nightingale&lt;br /&gt;
* [[Pale Moon]]&lt;br /&gt;
* Pencil Project – grafisches GUI-Entwurfsprogramm.&lt;br /&gt;
* Postbox – auf Mozilla Thunderbird-basierender Mailclient&lt;br /&gt;
* Premiere Desktop TV-Guide ([[Electronic Program Guide|elektronische Programmzeitschrift]])&lt;br /&gt;
* [[SeaMonkey]]&lt;br /&gt;
* [[Songbird]]&lt;br /&gt;
* [[Spicebird]]&lt;br /&gt;
* [[TomTom]] Home&lt;br /&gt;
* Twibs – Content-Management-System basierend auf Java und XUL&lt;br /&gt;
* [[XUL Explorer]] – IDE zum Erstellen von XUL Applikationen&lt;br /&gt;
* [[XULPlayer]] – auf XUL- und MPlayer-basierender Media Player&lt;br /&gt;
* [[Vodafone Widget Packager]] – Entwicklungswerkzeug für Widgets&lt;br /&gt;
&lt;br /&gt;
== Referenzen auf Ghostbusters ==&lt;br /&gt;
Die Abkürzung XUL verweist auf den Film &amp;#039;&amp;#039;[[Ghostbusters – Die Geisterjäger|Ghostbusters]]&amp;#039;&amp;#039;, in dem der Geist des Halbgottes Zuul, der Dana Barrett in Besitz genommen hat, behauptet: &amp;#039;&amp;#039;There is no Dana, there is only Zuul.&amp;#039;&amp;#039; Die Entwickler von XUL übernahmen diesen Satz leicht modifiziert als &amp;#039;&amp;#039;There is no data, there is only XUL.&amp;#039;&amp;#039; und wiesen damit auf die (damals) ungewöhnliche Eigenschaft von XUL als XML-Sprache hin, keine Daten oder Dokumente zu enthalten, sondern eine Benutzeroberfläche zu beschreiben.&lt;br /&gt;
&lt;br /&gt;
Weitere Referenzen auf den Film Ghostbusters kann man an der [[Extensible Markup Language|XML]]-[[Namensraum|Namespace]]-[[Uniform Resource Identifier|URI]] &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; 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 &amp;#039;&amp;#039;There is no data, there is only XUL.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Techniken mit ähnlichem Konzept ==&lt;br /&gt;
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):&lt;br /&gt;
* [[AUIML]]&lt;br /&gt;
* [[eNode]]&lt;br /&gt;
* [[JavaFX]] besitzt mit [[JavaFX#FXML|FXML]] eine XML-Sprache zur Beschreibung der GUI.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://docs.oracle.com/javafx/2/get_started/fxml_tutorial.htm |titel=Getting Started with JavaFX: Using FXML to Create a User Interface {{!}} JavaFX 2 Tutorials and Documentation |sprache=en |abruf=2018-01-26}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Microsoft]] verfolgt ein ähnliches Konzept mit seiner Beschreibungssprache [[Extensible Application Markup Language|XAML]]. XAML ist ein grundlegendes Konzept in der [[Windows Presentation Foundation]] sowie von [[Microsoft Silverlight|Silverlight]] und kann auch mit der [[Windows Runtime]] genutzt werden.&lt;br /&gt;
* [[NeXT]]s Implementierung des [[Model View Controller|MVC]]-Modells hat die Beschreibung der [[Grafische Benutzeroberfläche|GUI]] in [[Interface Builder|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 [[Apple]]s [[macOS]] fortgeführt und verwendet seit [[Xcode#Xcode 3.0 bis 3.2|XCode 3.0]] XML-Dateien.&lt;br /&gt;
* [[UIML]]&lt;br /&gt;
* [[XForms]]&lt;br /&gt;
* ZUL aus dem [[ZK OSS]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Glade (Programmierwerkzeug)|Glade]]&lt;br /&gt;
* [[Rich Internet Application]]&lt;br /&gt;
* [[XULRunner]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bücher&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* {{Literatur |Autor=Kenneth C. Feldt |Titel=Programming Firefox |Verlag=O’Reilly |Datum=2007 |Sprache=en |ISBN=0-596-10243-7}}&lt;br /&gt;
* {{Literatur |Autor=Jonathan Protzenko |Titel=XUL |Verlag=Open Source Press |Datum=2006 |Sprache=en |ISBN=3-937514-23-6}}&lt;br /&gt;
* {{Literatur |Autor=Nigel McFarlane |Titel=Rapid Application Development with Mozilla |Auflage=1 |Verlag=Prentice Hall |Datum=2003 |Sprache=en |ISBN=978-0-13-142343-5}}&lt;br /&gt;
* {{Literatur |Autor=David Boswell, Brian King, Ian Oeschger, Pete Collins, Eric Murphy |Titel=Creating Applications with Mozilla |Auflage=1 |Verlag=O’Reilly |Datum=2002 |Sprache=en |ISBN=0-596-00052-9}}&lt;br /&gt;
* {{Literatur |Autor=Vaughn Bullard, Kevin T. Smith, Michael C. Daconta |Titel=Essential XUL Programming |Auflage=1 |Verlag=Wiley |Datum=2001 |Sprache=en |ISBN=978-0-471-41580-0}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Artikel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Sebastian Kortemeyer, Frank Thiesing: &amp;#039;&amp;#039;Gute Beschreibung: Webanwendung mit XUL und SVG gestalten.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;[[c’t]]&amp;#039;&amp;#039;, 5/2008, S.&amp;amp;nbsp;202&lt;br /&gt;
* Karsten Düsterloh: {{Webarchiv |url=http://www.heise.de/ix/artikel/2005/07/124/ |text=&amp;#039;&amp;#039;XUL-Tutorial I: Basiselemente der Browsererweiterung&amp;#039;&amp;#039;. |wayback=20050618023529}} In: &amp;#039;&amp;#039;[[iX – Magazin für professionelle Informationstechnik|iX]]&amp;#039;&amp;#039;, 7/2005, S.&amp;amp;nbsp;124&lt;br /&gt;
* Karsten Düsterloh: {{Webarchiv |url=http://www.heise.de/ix/artikel/2005/08/148/ |text=&amp;#039;&amp;#039;XUL-Tutorial II: Bäume und Templates&amp;#039;&amp;#039;. |wayback=20050715025122}} In: &amp;#039;&amp;#039;[[iX – Magazin für professionelle Informationstechnik|iX]]&amp;#039;&amp;#039;, 8/2005, S.&amp;amp;nbsp;148&lt;br /&gt;
* Karsten Düsterloh: {{Webarchiv |url=http://www.heise.de/ix/artikel/2005/09/154/ |text=&amp;#039;&amp;#039;XUL-Tutorial III: Mail-Erweiterung Mistory&amp;#039;&amp;#039;. |wayback=20060204121917}} In: &amp;#039;&amp;#039;[[iX – Magazin für professionelle Informationstechnik|iX]]&amp;#039;&amp;#039;, 9/2005, S.&amp;amp;nbsp;154&lt;br /&gt;
* Karsten Violka, Andreas Otte: &amp;#039;&amp;#039;Das Monster aus XUL.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;[[c’t]]&amp;#039;&amp;#039;, 20/2002, S.&amp;amp;nbsp;232&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.spket.com/ Spket IDE]&lt;br /&gt;
* [https://xuldev.sf.net/ Xul Dev Project]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:GUI-Toolkit]]&lt;br /&gt;
[[Kategorie:Mozilla]]&lt;br /&gt;
[[Kategorie:XML-basierte Sprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Thomas Dresler</name></author>
	</entry>
</feed>