Used price: $2.91
Buy one from zShops for: $2.62
Used price: $2.06
Collectible price: $5.84
Buy one from zShops for: $7.29
Used price: $17.94
List price: $39.95 (that's 30% off!)
Used price: $21.18
Collectible price: $21.18
Buy one from zShops for: $24.59
It's doubtful that, on its own, Creating Applications with Mozilla would enable a developer -- even with a reasonable knowledge of JavaScript, HTML, CSS and C++ -- to do anything interesting with Mozilla. It certainly won't teach you how to create templates, package applications, or even use JSLib (which should be simple!), let alone write XBL or manipulate RDF files.
To be realistic, however, this book is often more handy than using Mozilla documentation online, and it has the usual high quality O'Reilly binding, paper, type design and layout. Buy it if someone else is paying or if you do a lot of Mozilla programming.
In a nutshell, the main problems I had with the book are as follows.
1. Technical writing should be judged in adversity -- how well it handles the hard stuff -- and on that count, this book fails miserably. When the going gets tough, the explanations become impenetrable and seem to be "preaching to the choir", assuming a deep knowledge of Mozilla programming. Even relatively simple concepts,such as the chrome URL, are poorly explained, and much of the sample code and technical reference material is, unnecessarily complex.
2. Much of the material is limited and incomplete: there are odd gaps in explanations, unenlightening overview sections (such as the description of using Perl with Mozilla), methods and properties listed with limited information (or no information) about their implementation, and incomplete references (such as the list of Mozilla CSS extensions). Crucial information (you can't manipulate datasources unless working via a chrome URL, for example) is often missing or buried.
3.There are numerous typos: misspellings, incorrect punctuation and errors in illustrations (at least three in figure 7-2 on page 181).
4. Code samples have errors and inconsistencies.
5. Much of the code and reference material is out of date (and was obsolete even before the print version was published).
6. The code examples are unfocused (there's too much emphasis on context) and don't always work (and didn't work online).
7. The index is often unhelpful and incomplete, without good conceptual indexing.
Mozilla programming is highly promising and, for the most part, not all that difficult once you know how, but finding accurate information about it is a tantalising process of trial and error. You have to rely on guesswork, intuition, word of mouth, limited or obsolete and inaccurate documentation, and the help of a very few (though extremely helpful) insiders available via the Mozilla newsgroups. Given that the project has been around for a few years now, I think that's unacceptable: I'd hate to see Mozilla wind up as a good technology that died for lack of decent documentation.
Chapters 1-6 lead the reader through the progressive steps required to build and package a Mozilla-based application. The authors create a demo application called xFly which is used as a test bed to show the different features of XUL, CSS, and JavaScript. By the end of Chapter 6, this application contains a tree control, a bunch of sample menus, and various other assorted UI widgets. But it doesn't really _do_ anything. Maybe I'm too picky, but I'd rather see an application that has some function, even if all it does is play tick-tack-toe. Then, to me at lease, it's much clearer how the different pieces would fit together in a "real-world" application.
Chapters 7-12 cover more exotic and difficult aspects of Mozilla
programming such as the Extensible Binding Language (XBL), XPCOM (Mozilla's component object model), and accessing web services from XUL applications. These chapters are very dense in technical details, with good references to online resources for further study. Overall, I found this book to be a very succinct source of accurate information about building applications with Mozilla. Its only weakness seems to be that it focuses too much on low-level implementation details without giving the reader (who may be new to the idea of XML-based GUI
application programming entirely) a good high-level overview of the benefits of this type of development and which technologies serve which purpose. Chapter 1 is the only chapter that explicitly addresses high-level application architecture, and it is only 8 pages long.
The bottom line is that this is a good reference book for people who already know how and why to build applications based on Mozilla, but a not-so-good introduction and tutorial for people who are completely new to the XUL-CSS-JavaScript paradigm of application development.
I am puzzled that other reviewers claim XUL and Mozilla are not ready for mainstream since the fact that an entire browser, mail, chat, editor, JS debugger and hundreds more third party extensions and apps have been written using it demonstrates it is. It certainly needs tools and add robustness, but it is already a viable and strong technology for producing platform neutral applications.
It is well worth the money, however it should be revised to reflect the latest Mozilla developments. As an added bonus, the source for this book is actually online so you can evaluate it yourself at books.mozdev.org before buying it.
Used price: $1.87
Collectible price: $8.95
Buy one from zShops for: $11.99
Used price: $1.97
Buy one from zShops for: $1.95
Used price: $41.03
Used price: $3.70
Buy one from zShops for: $19.95
Used price: $7.75
Buy one from zShops for: $7.75