www.wikidata.de-de.nina.az
XML User Interface Language XUL ist eine auf XML basierende Beschreibungssprache fur grafische Benutzeroberflachen GUIs Sie wurde ursprunglich fur das Mozilla Projekt entwickelt aber auch von anderer Software genutzt In Mozilla Anwendungen wie Firefox Thunderbird SeaMonkey oder Netscape wird bzw wurde die Benutzeroberflache mit Hilfe von XUL erzeugt wobei die Gecko Rendering Engine genutzt wird die auch fur die Darstellung von Webseiten verwendet wird XUL gilt inzwischen als veraltet 1 Im Firefox Browser konnen seit Ende 2017 keine XUL basierten Erweiterungen mehr installiert werden 2 2019 begannen Mozilla Entwickler XUL Elemente der Benutzeroberflache weitgehend durch gewohnliche HTML Elemente zu ersetzen wie sie auch von Webseiten verwendet werden 3 Inhaltsverzeichnis 1 Eigenschaften 2 Aufbau einer XUL Datei 3 XUL basierte Anwendungen 4 Referenzen auf Ghostbusters 5 Techniken mit ahnlichem Konzept 6 Siehe auch 7 Literatur 8 Weblinks 9 EinzelnachweiseEigenschaften BearbeitenXUL erlaubt die Trennung von Layout Design und Programmcode einer Benutzeroberflache Das Layout und damit der grobe Aufbau der Benutzeroberflache wie Schaltflachen Eingabefelder und andere Steuerelemente wird in XUL festgelegt wahrend die Darstellung konkrete Schriftarten Farben Linienstile usw mit CSS definiert wird Unterschiedliche Themes Skins auch zum Nachempfinden des Aussehens unterschiedlicher Betriebssysteme konnen dann relativ einfach durch Auswechseln der CSS Stile erzeugt werden Dadurch dass XUL Dateien nicht kompiliert sondern zur Laufzeit interpretiert werden ist es auch moglich als Anwender die Benutzeroberflache nach eigenen Wunschen zu bearbeiten und zu erweitern was in Mozilla Programmen prinzipiell auch automatisiert durch installierbare Add ons erfolgen kann Dies war zum Beispiel im Firefox Browser bis zur Version 56 moglich 4 seitdem funktionieren nur noch Erweiterungen die das modernere aber restriktivere WebExtensions Format nutzen Die Erstellung neuer Oberflachen in XUL ist einfacher und weniger zeitaufwendig als bei vielen Programmiersprachen Bei einer Portierung auf eine bestimmte Betriebssystem Plattform muss das gesamte Mozilla XUL Toolkit auf die neue Plattform portiert werden Im Gegenzug benotigen nach einer derartigen Portierung XUL basierte Programme keine speziellen Anpassungen mehr was die Entwicklung von betriebssystemunabhangigen Anwendungen stark vereinfacht Nachteilig ist dass durch den zusatzlichen Aufwand des Verarbeitens der XUL Dateien und die notwendigen Berechnungen des Layouts und des Erscheinungsbildes die Verarbeitungs und Darstellungsgeschwindigkeit haufig langsamer ist als bei nativen Benutzeroberflachen Da die Betriebssystem spezifischen Steuerelemente per CSS nachgebildet werden mussen kann es Unterschiede in Aussehen und Verhalten der Benutzeroberflache gegenuber nativen Programmen geben Aufbau einer XUL Datei BearbeitenEine einfache XUL Datei konnte so aussehen lt xml version 1 0 gt lt xml stylesheet href chrome global skin type text css gt lt window id sample window title Beispiel xmlns http www mozilla org keymaster gatekeeper there is only xul gt lt vbox gt lt checkbox label CheckBox gt lt hbox gt lt spacer flex 1 gt lt button label OK gt lt button label Abbrechen gt lt hbox gt lt vbox gt lt window gt nbsp Darstellung in Mozilla FirefoxXUL basierte Anwendungen BearbeitenActiveState Komodo IDE IDE fur JavaScript Mason Perl PHP Python Ruby Ruby on Rails Tcl XBL XML XPCOM XSLT und XUL und Open Komodo Project Bluegriffon Nachfolger von Kompozer Celtx Cyclone3 die Software der Begleit CD des Oxford Advanced Learner s Dictionary die visuelle Programmierumgebung Orchestra Symphony OS Flock Browser Google AdWords Editor Instantbird auf XUL und libpurple basierender Instant Messenger Joost KompoZer HTML Editor Nachfolger von Nvu Mozilla Application Suite Mozilla Firefox Mozilla Sunbird Mozilla Thunderbird Nightingale Pencil Project grafisches GUI Entwurfsprogramm Postbox auf Mozilla Thunderbird basierender Mailclient Premiere Desktop TV Guide elektronische Programmzeitschrift SeaMonkey Songbird Spicebird TomTom Home Twibs Content Management System basierend auf Java und XUL XUL Explorer IDE zum Erstellen von XUL Applikationen XULPlayer auf XUL und MPlayer basierender Media Player Vodafone Widget Packager Entwicklungswerkzeug fur WidgetsReferenzen auf Ghostbusters BearbeitenDie Abkurzung 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 ubernahmen diesen Satz leicht modifiziert als There is no data there is only XUL und wiesen damit auf die damals ungewohnliche Eigenschaft von XUL als XML Sprache hin keine Daten oder Dokumente zu enthalten sondern eine Benutzeroberflache 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 ahnlichem Konzept BearbeitenInzwischen gibt es auch andere XML basierte Formate die eine Benutzeroberflache beschreiben wodurch die namenstehende XUL Eigenschaft heute nicht mehr so ungewohnlich ist vgl vorheriges Kapitel AUIML eNode JavaFX besitzt mit FXML eine XML Sprache zur Beschreibung der GUI 5 Microsoft verfolgt ein ahnliches Konzept mit seiner Beschreibungssprache XAML XAML ist ein grundlegendes Konzept in der Windows Presentation Foundation sowie von Silverlight und kann auch mit der Windows Runtime genutzt werden NeXTs Implementierung des MVC Modells hat die Beschreibung der GUI in NIB Dateien gespeichert aus denen die Anwendung die Oberflache zur Laufzeit initialisierte Allerdings wurden darin sowohl die grafischen Eigenschaften als auch die Logik der GUI beschrieben Das Konzept wurde in Apples macOS fortgefuhrt und verwendet seit XCode 3 0 XML Dateien UIML XForms ZUL aus dem ZK OSSSiehe auch BearbeitenGlade Rich Internet Application XULRunnerLiteratur BearbeitenBucher Kenneth C Feldt Programming Firefox O Reilly 2007 ISBN 0 596 10243 7 Jonathan Protzenko XUL Open Source Press 2006 ISBN 3 937514 23 6 Nigel McFarlane Rapid Application Development with Mozilla 1st edition Prentice Hall PTR 2003 ISBN 978 0 13 142343 5 David Boswell Brian King Ian Oeschger Pete Collins Eric Murphy Creating Applications with Mozilla 1st edition O Reilly 2002 ISBN 0 596 00052 9 Vaughn Bullard Kevin T Smith Michael C Daconta Essential XUL Programming 1st edition Wiley 2001 ISBN 978 0 471 41580 0Artikel Sebastian Kortemeyer Frank Thiesing Gute Beschreibung Webanwendung mit XUL und SVG gestalten In c t 5 2008 S 202 Karsten Dusterloh XUL Tutorial I Basiselemente der Browsererweiterung Memento vom 18 Juni 2005 im Internet Archive In iX 7 2005 S 124 Karsten Dusterloh XUL Tutorial II Baume und Templates Memento vom 15 Juli 2005 im Internet Archive In iX 8 2005 S 148 Karsten Dusterloh XUL Tutorial III Mail Erweiterung Mistory Memento vom 4 Februar 2006 im Internet Archive In iX 9 2005 S 154 Karsten Violka Andreas Otte Das Monster aus XUL In c t 20 2002 S 232Weblinks BearbeitenSpket IDE Xul Dev ProjectEinzelnachweise Bearbeiten XUL Archive of obsolete content MDN 22 Oktober 2019 archiviert vom Original am 22 Oktober 2019 abgerufen am 22 August 2021 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot developer mozilla org Was sind WebExtensions Mozilla MDN Abgerufen am 22 August 2021 amerikanisches Englisch 1563415 de xul elements meta Start using HTML elements to replace XUL elements Abgerufen am 22 August 2021 englisch Overlay extensions Abgerufen am 30 August 2019 englisch Getting Started with JavaFX Using FXML to Create a User Interface JavaFX 2 Tutorials and Documentation Abgerufen am 26 Januar 2018 englisch Abgerufen von https de wikipedia org w index php title XML User Interface Language amp oldid 230996888