Over the XUL Rainbow
XUL is the most accessible part of the Mozilla GUI-building technology, but it's only the tip of the iceberg. Whereas XUL displays the widgets that make up an application's GUI, other parts of Mozilla are responsible for turning user input to that GUI into concrete actions. These technologies work in concert with XUL.
The Mozilla platform implements a small database system (actually a knowledge system) that relies on the W3C's RDF standard. The RDF databases (actually fact stores) provide data for the XUL templating system, and those databases can be driven directly from JavaScript, if that's required.
A second technology is Mozilla's Application Object Model (AOM). Like the Document Object Model (DOM) or Browser Object Model (BOM) of a loaded XHTML document, the AOM provides handy objects that are used to implement the commands and actions that lie behind the controls provided in a XUL GUI. These commands can be custom-written in JavaScript, or they can be pre-supplied by the platform.
Finally, the Mozilla platform supports a number of other technologies accessible from JavaScript. These technologies poke up high enough that a JavaScript script can exploit them if suitable arrangements can be made. Greatest of these technologies is XPCOM, a component system that provides more than a thousand application objects for the programmer to work witha very rich development environment. Other equally powerful technologies are overlays (covered in my next article), XBL, and XPInstall. XP stands for cross-platform, and that's Mozilla's strength. For a jumping-off point for all these technologies, see Core Architecture on the Mozilla site.