Post a Comment
If you're looking into developing Extensions, you should also download Firefox 3a5/Nightly and check out the FUEL API, an API designed to really simplify some of the horrifc JS needed to very basic things in Firefox. You can see the developing specification here:
http://wiki.mozilla.org/FUEL
I personally tried writing a XUL app once, but the documentation was so uterly lacking, outdated and awful I had to give up. If you want to get into Firefox development, do make sure you've modified your pension scheme and life insurance to account for the several years you will lose from your life trying to get an extension to work.
And it's really a shame too.
FF had the potential to become a real player in the RIA/Desktop application development space, if they managed to clean up some of the docs and stabilize the system (so that the docs remained current), as well as writing some solid JS libraries to wrap up a bulk of the communication to the back end. I don't know why they didn't simply wrap all of back end calls in JS wrapper that were easy to use and work with.
None of the parts are implicitly horrible (well, RDF has few fans, but...). And the concept is quite sound -- solid scripting language on top of a solid core of infrastructure. And they the bits that most folks want for desktop/RIA/ and/or client-server applications.
And what they didn't have could have been written reasonably efficient for each application.
But putting it all together and find out which end is up is just a nightmare, and the entire platform has struggled because of it.
Now the Web in general has pretty much obsoleted much of what XUL was trying to achieve in more practical measures as far as desktop-esque applications go.
As much as I love the idea of platform-independent web-as-platform applications, all the current methods seem too convoluted. Couldn't the author have written a Java applet that does the same thing in 1/10th the time?
And the Javascript/HTML/CSS/Webkit/??? web-app mess seems to be what Apple has in mind for IPhone apps too.
Do-able, but needlessly difficult.
When I started the project, I did not considered Java at all : the documentation was not suggesting it.
Even today, I am reluctant to jump into the Java pool : I use three stand-alone applications on my PC, and I do not like the graphics, nor the responsiveness of the graphical interface.
C is a "procedural" programming language rather than a "functional" programming language, emphasizing imperative programming style.
http://en.wikipedia.org/wiki/Functional_programming
Great article though. Thx.
1. You can actually use a dump() command to output to the JavaScript console. But setting up Firefox appropriately requires a bit of work.
2. I gave up on any documentation. Some of the plugins are well coded and can be used for reference. The alternative is to grep the .js files of firefox.
3. Be extremely careful when you access the XPCOM interface directly. Unlike in the other code, you have to do some cleanup to prevent memory leaks.
4. I think jedit is very useful. Among other things, it allows you to save text files in many codings, including UTF8.




