Sunday, October 5, 2008

A first look at XULRunner

I spent the weekend figuring out how to make extensions in Firefox. The goal is to figure out what's needed to port Canvas3D into XULRunner. It was supposed to be a straightforward operation, but reality is rarely kind. The ride went like this:
  1. Get recipe.
  2. Execute recipe.
  3. Taste the cake.
  4. The cake explodes.
  5. Look for another recipe...
One example? I download the XULRunner SDK, and it seems the SDK is more for building XULR rather than building extensions for XULR. (I could be wrong.) Another? The sample extension didn't appear like they promised, until I added a second test extension. Of course, the features overwrote each other.


So far, this guide has been the most helpful for getting something up and running to work with:
http://developer.mozilla.org/en/Building_an_Extension

At the end of the day, I've learned how to make a simple extension. Woo! Also, I've got a working version of Canvas3D 0.2 running on my main Firefox3, and it's looking good. Downloading the C3D extension wasn't quite the nightmare I was taught to fear.


Next on the todo list:
  • figure out what files are installed by Canvas3D
  • update my C3D Library 0.2 to the 0.5 version
  • build an extension that works on a portable XULRunner package
It seems running things in XULR will be a whole 'nother beast...

2 comments:

Unknown said...

The XULRunner SDK is definitely there for building extensions and XULRunner applications.

Mark Finkle's Weblog said...

XULRunner is mainly used to:
1. Build UL apps like Firefox & Songbird
2. Embed Mozilla's Gecko rendering engine into other non-XUL based applications.

You can build extensions without XULRunner at all, in fact most people never need XULRunner to build an extension. Also, any XULRunner based applications (#1 above) support hosting extensions, the same way Firefox does.

For help in doing #1, see: http://developer.mozilla.org/en/Getting_started_with_XULRunner