Rapid Application Development with Mozilla
The Basics Rapid Application Development with Mozilla (hereafter RADM) centers on XUL, Mozilla's XML dialect for describing GUIs. Other Mozilla components, like XBL and RDF, are described mainly in terms of how they plug into XUL. Each chapter presents and explains a component, then shows it in action by using it in an example application (a web-page annotator) developed throughout the book. Chapter conclusions take the form of debugging hints; as McFarlane ruefully notes, most errors cause Mozilla to silently do nothing, making debugging a chore.
The first half of RADM covers basic XUL use -- the usual complement of widgets with CSS to style them and JavaScript to manipulate them. McFarlane does assume previous exposure to basic HTML, JavaScript, and CSS, but extensive experience isn't required. At each step McFarlane does a good job explaining what's similar to HTML (e.g. most DOM stuff) and what isn't (e.g. the layout model). A few components have no real analog in the HTML model, like Mozilla's command dispatch system, so they're presented from the ground up.
The Back EndThe second half of the book leans more toward the back end: using RDF for registries and template data; piping data into XUL with overlays, templates, and XBL; using and implementing XPCOM components; and deploying applications built on Mozilla.
McFarlane's RDF tutorial is one of the best I've seen. He starts off on the right foot by introducing things in terms of a directed graph, with lots of examples and diagrams. Only after eighteen pages of that does he introduce the RDF/XML syntax. His explanation of RDF/XML is unusually lucid, quite a feat considering how hairy RDF/XML gets. (Disclaimer: I've had past experience with RDF, so I wasn't reading this as a beginner -- in other words, YMMV.)
In the succeeding chapters, RDF is applied within the various Mozilla arenas, like XUL overlays and package installation, where it's used to store config information. The centerpiece of RDF in Mozilla, though, is in its use to create data-driven XUL files through XUL templates.
The chapter on templates runs to sixty-plus pages, and it's worth it. McFarlane covers things I haven't seen covered anywhere else. For instance, he describes the algorithm the RDF query engine uses to evaluate queries, so that you can better understand what kind of queries you can construct. This is crucial information because the query syntax allows a lot of queries that are logically reasonable, but won't actually work.
This points to a strength of RADM: McFarlane doesn't hesitate to criticize Mozilla where necessary. Throughout the book, he flags incomplete features, buggy implementations, and other gotchas, such as security restrictions surrounding RDF that make it all but useless for remote scenarios.
(Incidentally, McFarlane explicitly disclaims coverage of Phoenix/Firebird/Firefox, sticking to Mozilla 1.4, but in practice everything I've tried has worked fine in Firefox 0.8.)
Two Out Of Three Ain't BadSo, does RADM manage to accomplish its goals of being a conceptual overview, tutorial, and reference? I'd give it two out of three.
As a conceptual overview, RADM shines. McFarlane is at his best when comparing and contrasting closely related components, like overlays, templates, and XBL, all of which extend XUL but do it in different ways. I was left with a good picture of what can and can't be done in Mozilla.
As a tutorial, RADM is solidly useful. The example-application sections cover a surprisingly large amount of ground -- more than enough to get a developer new to Mozilla up and running. McFarlane chose a good subset to present as examples; still, all of his clear writing can't paper over the fact that Mozilla is really complicated, not just internally, but in the interface it presents to developers using it as a platform.
As a reference, RADM stumbles. The index is slim -- a mere eighteen pages after 752 pages of content -- which makes small chunks of information hard to find. This is mitigated by a detailed and well-organized table of contents. After a few weeks of use, I find myself turning to the contents first, and only trying the index if I have to.
Fundamentally, though, RADM isn't really a reference book, and definitely not a "quick reference." You'd be better off using a good site like XULPlanet for quick what-arguments-does-that-method-take checks, and reserving RADM for in-depth explanations.
ConclusionRADM is published in Bruce Perens' Open Source Series at Prentice Hall under the Open Publication License. After a few months of letting the book sell on its own, they'll post the PDF of the entire book online. Is it worth buying in print? Given that it's more of a sit-down-and-read book than a quick-reference guide, I'd say so.
If you're considering Mozilla as a platform, I'd recommend RADM for its reasonable balance that shows Mozilla's strengths and weaknesses. If you're already sold on Mozilla and just want to wrap your head around it and start building an app on it, RADM is the book for you.
You can purchase Rapid Application Development with Mozilla from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page
slooowww...
Karma: Terrible - and proud of it!
the kool desktop environment? Made by leet 14 year olds no doubt.
the pr0ject Transfer, Netscape
YOU ALL SUCK AND SLASHDOT SUCKS DONKEY ASS!
s ubservientchicken.com/c ken.com/
http://www.subservientchicken.com/
http://www.subservientchicken.com/
http://www.
http://www.subservientchi
Better steer clear of Lindows/Linspire then. They contribute to the Mozilla project, via their programmers. They introduce bugs RAPIDLY. Go check the Bugzilla archives out for yourself!
Linux needs less used car salesmen promoting snake oil. Steer clear of Linspire.
Lindows Steals Copyrighted Art and Promotes Porn
It is official; Netcraft confirms: Mozilla is dying
One more crippling bombshell hit the already beleaguered Mozilla community when IDC confirmed that Mozilla market share has dropped yet again, now down to less than a fraction of 1 percent of all web browsers. Coming on the heels of a recent Netcraft survey which plainly states that Mozilla has lost more market share, this news serves to reinforce what we've known all along. Mozilla is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be a Kreskin to predict Mozilla's future. The hand writing is on the wall: Mozilla faces a bleak future. In fact there won't be any future at all for Mozilla because Mozilla is dying. Things are looking very bad for Mozilla. As many of us are already aware, Mozilla continues to lose market share. Red ink flows like a river of blood.
Netscape 7 is the most endangered of them all, having lost 100% of its core developers. The sudden and unpleasant firing of all 50 Netscape developers by AOL only serves to underscore the point more clearly. There can no longer be any doubt: Mozilla is dying.
Let's keep to the facts and look at the numbers.
Mozilla.org leader Mitchell Baker states that there are 7000 users of Mozilla. How many users of Firebird are there? Let's see. The number of Mozilla versus Firebird posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 Firebird users. Camino posts on Usenet are about half of the volume of Firebird posts. Therefore there are about 700 users of Camino. A recent article put Netscape 7 at about 80 percent of the Mozilla market. Therefore there are (7000+1400+700)*4 = 36400 Netscape 7 users. This is consistent with the number of Netscape 7 usenet posts.
Due to the troubles of Mozilla, abysmal sales and so on, Netscape went out of business and will probably be taken over by AOL who sell another troubled browser. Now AOL is also dead, its corpse turned over to yet another charnel house.
All major surveys show that Mozilla has steadily declined in market share. Mozilla is very sick and its long term survival prospects are very dim. If Mozilla is to survive at all it will be among browser dilettante dabblers. Mozilla continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, Mozilla is dead.
Fact: Mozilla is dying