XUL
XML User Interface Language, in short: XUL [ to ː l], is an XML-based description language for graphical user interfaces (GUI). It was originally developed for the Mozilla project, but is now also used by other software.
In Mozilla applications such as Firefox, Thunderbird, SeaMonkey or Netscape, the entire UI from XUL files is generated. Here comes the Gecko rendering engine used, which is also used for displaying web pages.
When porting to a specific operating system platform, the complete Mozilla XUL toolkit has to be ported to the new platform. In return, need after such porting XUL GUI no special adjustments more.
Benefits
With XUL, the separation of layout and design of the interface is enabled, because the representation of a XUL user interface is not defined in XUL itself, but with CSS. For this reason it is by simply changing the CSS styles possible to enable the use of different skins, as is the case for example in Mozilla Firefox. Because XUL files are not compiled but interpreted at runtime, it is possible, as the user interface to edit according to your needs and to expand, which can in Mozilla programs also automated through installable extensions done. In addition, the creation of new surfaces is easier and less time-consuming than with many programming languages.
Other advantages are:
- XML compliant description language
- Open source code by using XML
- Can be used on many operating systems
- Consistent appearance on the various platforms
- If the XUL toolkit has been ported to various platforms, XUL user interfaces can be across operating systems and easily re-created or edited.
Disadvantages
Due to the additional costs of processing the XUL files and the necessary calculations of the layout and appearance of the processing and display speed is often slower than with native user interfaces.
As the user interface is represented by the " Gecko rendering engine " and not directly by the operating system on which the application is running, the operation and display may differ slightly from the native programs.
Building a XUL file
A simple XUL file might look like this:
xml version = " 1.0"? >
xml-stylesheet href = " chrome :/ / global / skin / " type = "text / css"? >
< window id = "sample -window "
title = "example"
xmlns = " http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul " >
The term XUL has the origin in the film Ghostbusters, in which the spirit of the demigod Zuul, who took Dana Barrett in possession, claiming: "There is no Dana, only Zuul there is. ". The developers of XUL took over this set slightly modified as "There is no data, there is only XUL. " And had therefore to the unusual feature of XUL as an XML language out to contain no data or documents, but to describe a user interface.
Further references to the film Ghostbusters can be seen on the XML namespace URI, http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul, reading, which is located at the beginning of each XUL file. Keymaster and Gatekeeper here also relate to characters from the film. If you call up the address in the web browser on, the aforementioned sentence appears "There is no data, there is only XUL. ".
In Mozilla software are not only in XUL references to " Ghostbusters ". Also Venkman, the JavaScript debugger of the project is named after a character from Ghostbusters.
XUL -based applications
- ActiveState Komodo IDE (IDE for Perl, Mason, Ruby, Ruby on Rails, Tcl, Python, PHP, JavaScript, XML, XSLT, XUL, XPCOM and XBL ) and Open Komodo Project
- Celtx
- Cyclone3
- Flock (Browser)
- Google AdWords Editor
- Instant Bird - on XUL and libpurple based instant messenger
- Joost
- HTML editor KompoZer ( successor to Nvu )
- Mozilla Application Suite
- Mozilla Firefox
- Mozilla Sunbird
- Mozilla Thunderbird
- Pencil Project - graphical GUI design program.
- Postbox - based on Mozilla Thunderbird Mail Client
- Premiere desktop TV Guide ( EPG )
- The software of the companion CD of the Oxford Advanced Learner 's Dictionary
- SeaMonkey
- Songbird
- Spice Bird
- The visual programming environment Orchestra ( Symphony OS)
- Twibs - content management system based on Java and XUL
- XUL Explorer - IDE to create XUL applications
- XULPlayer - on XUL and MPlayer -based media player
- TomTom Home
- Vodafone Widget Packager - development tool for widgets
Techniques with a similar concept
- Nexts implementation of the Model -View-Controller model has a description of the GUI in NIB files stored from which the application initialized the surface at runtime. However, both the graphical properties as well as the logic of the GUI are described herein. The concept was continued in Apple's Mac OS, and since XCode 3.0 uses XML files.
- Microsoft has a similar concept with its description language XAML. XAML is a fundamental concept in Windows Vista, but is also used in applications for Windows XP.
- UIML
- XForms
- ENode
- AUIML
- Supply air from the Central Committee ( Framework)
Find out more
- Under the address chrome :/ / browser / content / you can browser.xul in the Mozilla Firefox browser to display embedded a copy of the user interface of the selfsame in a tab.