XUL Runner

I’ve been interested in XUL for a long time. Or, since 2002 at least.

In fact, although I’d forgotten all about it, many years ago I put together an alternate homepage for this blog which used XUL so that you could navigate information which I didn’t want to have to manage or reproduce in my main HTML page. It doesn’t really work any more, but it shouldn’t be hard to fix, if I had the inclination.

What really brings this up is the recent stable developer preview of XULRunner. XULRunner has been promised for years, and it’s really good to see it reach maturity as I’d really given up hope and stopped following its progress (or that of a GRE) a long time ago. You can check out what XULRunner provides and see that it gives you full programmatic control over almost anything you might want to do that Firefox can already do (like rendering SVG; displaying options windows and saving those options; open, edit and save files, etc.) and that it will allow you to embed these features into your existing applications using JavaXPCOM (embedding bindings for Python, ActiveX, GTK and NSView are under way but not yet complete).

XULRunner is an important piece of software as it allows you to install multiple XUL-based applications (say, Firefox and Thunderbird) but only one core XUL platform, thus reducing the size of each of the separate installers appropriately. Indeed, when it reaches 1.9, it will be the default application launcher for Firefox.

Anyone wanting to get started developing with XUL would be best starting with the tutorial on XUL Planet followed by the links on the XULRunner page on developer.mozilla.org. If you didn’t already know, tools like ActiveState’s Komodo (a cross-platform IDE) are based on XUL and work extremely well, so there is already precedent for people creating these types of applications, they just don’t get much visibility (yet).

Published by

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.