By David Mertz, IBM developerWorks
In Part 2 of a serial article on GUIs and XML
configuration data, David discusses how XML is used in the
configuration of GUI interfaces. He looks at Mozilla's XML-based
User Interface Language (XUL) which allows you to write
applications that run without any particular dependency on the
choice of underlying operating system. This may seem strange at
first, but you'll soon see that this Mozilla project offers
powerful tools for GUI building that allow you to develop for an
extensive base of installed users. Mozilla is now much more than a
browser: it is a whole component and GUI architecture. Indeed,
Mozilla is more cross-platform and more widely installed on user
systems than probably any other GUI library you are likely to
consider. What you might think of as general purpose GUI/widget
libraries -- Qt, wxWindows, GTK, FOX, MFC, .NET, Carbon, and so on
-- have various advantages and disadvantages. But none of them can
be assumed to be already installed across user systems. Many of
them are only available on a subset of the platforms Mozilla
supports, and most are relatively difficult to install or have
licensing issues. Mozilla is worth installing just because it is
such a great browser; once you have it, you have a free platform
for custom applications. To be completely cross-platform in your
Mozilla/XUL applications, you need to restrict yourself to
configuring GUIs in XUL and programming their logic in
JavaScript.
http://www-106.ibm.com/developerworks/library/x-matters35/
See also XUL References:
http://xml.coverpages.org/xul.html