Privacy Policy Cookie Policy Terms and Conditions XML User Interface Language - Wikipedia

XML User Interface Language

aus Wikipedia, der freien Enzyklopädie

XUL steht für XML User Interface Language und 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 (Netscape, Seamonkey, Firefox, ...) 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 Gegensatz dazu benötigen nach einer derartigen Portierung XUL-GUIs keine speziellen Anpassungen.

Microsoft verfolgt ein ähnliches Konzept mit dem kommenden Windows Vista und nennt diese Sprache XAML.

Inhaltsverzeichnis

[Bearbeiten] Vorteile von XUL

Durch XUL wird die Trennung von Layout und Design der Oberfläche ermöglicht, denn das Erscheinungsbild einer XUL-Benutzeroberfläche wird normalerweise nicht in XUL selbst festgelegt, sondern beispielsweise in Cascading Style Sheets. Aus diesem Grund ist es häufig ohne großen Aufwand möglich, das Benutzen von 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.

Weitere Vorteile sind:

  • XML-konforme Beschreibungssprache
  • Freier Quellcode durch Nutzung von XML
  • Einsetzbar auf vielen Betriebssystemen

[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.

[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
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

[Bearbeiten] Literatur

  • Karsten Violka, Andreas Otte: Das Monster aus XUL, c't 20/02, Seite 232
  • Jonathan Protzenko: XUL, 2006 Open Source Press ISBN 3-937514-23-6

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -