Before you start
This tutorial is for experienced Web developers who are interested in branching out into desktop development, but do not want to learn a lot of new technologies. XUL (rhymes with cool) makes it easy to use Web development skills to build desktop applications. It gives you a rich set of UI widgets that have a very familiar syntax for any Web developer. It also lets you directly mix in HTML and makes heavy use of JavaScript.
XUL is an XML-based language, so you'll need to be familiar with XML, especially XML namespaces. XUL is built on top of the Web technologies that you already know and love: HTML, JavaScript and CSS. You'll need to be familiar with those technologies to be productive in XUL. You can greatly increase the capabilities of XUL applications by using XPCOM. This is a technology that is similar to distributed computing technologies such as CORBA/IDL and COM. Familiarity with these technologies will help when learning about XPCOM, but is not required.
In this tutorial you will:
- Learn all about XUL, its roots and its use in Mozilla projects.
- Learn about the key benefits and architectural design of XUL, as well as how to build desktop applications that leverage your existing Web application skills.
- Discover the opportunities that Firefox 3.0 presents to XUL developers.
- Dig into XUL and write a simple application to create, save, and publish blog entries. This XUL-based blog editor gives you basic rich text editing, and allows you to save drafts locally that you can reload later for editing. The editor will also tap into the drawing capabilities of XUL to allow users to electronically sign their blogs.
XUL is completely open source. To develop with XUL, and to follow along in this tutorial, download the following:
- XUL SDK
- XULRunner
- Firefox 3.0 (or higher)

