Creating Applications with Mozilla 255
Creating Applications with Mozilla | |
author | David Boswell, Brian King, Ian Oeschger, Pete Collins & Eric Murphy |
pages | 454 |
publisher | O'Reilly |
rating | 9 |
reviewer | Peter Wayner |
ISBN | 0596000529 |
summary | How to use the Mozilla APIs to do anything. |
On the first and most obvious level, the book is just the typical, thorough treatment of the important APIs that we've come to expect from O'Reilly. There are chapters addressing all of the important layers of the Mozilla platform and plenty of examples that show you how to customize the platform. Some may want to change the icons and others may want to add more robust features. The range of possibilities is surprising and coders are creating one-to-one communications enhancements, add-on widgets, and even games. There are certainly some things missing, and some areas that could use more detail or more complicated examples, but the book is already 454 pages long.
On another level, this book is also one of the first finished documents that explains what the Mozilla group has really been up to for the past five years. Some have abandoned the project, and others have attacked it as fundamentally misguided. This book shows why it took so long by demonstrating all of the cool features added during the long march to a new, thoroughly extensible architecture.
Are the results enough to justify the time and the effort? Some note that the features may be a bit overhyped, because building your own browser with the Mozilla API is like making a pizza with $15 and a telephone. While there's a large part of the book devoted to the work you can do to change the look and feel of the buttons on your browser, the book and the project offer much more. The Mozilla project is one of the biggest threats to simple tools like Visual Basic to come down the pike in some time. The various layers offer many ways to provide good, customizable interfaces to databases, the web, and much more. I can see how many corporate development shops may want to start making Mozilla the platform for a license-free front-end, simply because it's a straightforward tool without extra costs or restrictions.
At the most abstract level, the book is a great way to get a taste of modern software development. Computer scientists sometimes fix problems by adding more and more layers of indirection. This may not solve anything, but at least there are hooks for a real solution to use some time in the future if some one ever does figure out how to make the box do it. The Mozilla browser is one of the most extreme examples of this philosophy to ever emerge. Emacs was something special, but this is even more insane. Everything can be changed around by rewriting some XML and Javascript and most people don't need to juggle the pointers in grubby C to do amazing things. I realize it's not as beautiful as Lisp to some, but it's got a clarity and level of abstraction that's stunning to behold. Lisp was just procedural, while XML is more like logic programming.
This relentless customizability embodies one of the deepest reasons for the success of open source. Technology is inherently complicated and the only way we can use it is if we can look under the hood. You can say all you want about CVS trees and bazaars filled with competing code, but opening up the interface is one of the most powerful themes of open source. It's not about teaching people to build their own VCR or PVR from scratch, getting the VCRs for free or even debugging the VCR's source code -- it's just about making them easy enough to program.
The book illustrates how Mozilla opens up the API to create a relatively easy language for people to use. The real open source is not the C in the tar ball, but the XML interface spelled out in the book. Many people feel that the most important thing that the first browser designers did was make it easy for people to see the HTML tags marking up the document in front of them. The new Mozilla takes this transparency to a new high.
If you look at the book at all of these levels, you can see that this is one of the most important documents to emerge from the open source community in some time. At first glance, it's just another set of APIs for us to wiggle. I realize it's not fair to credit the Mozilla team or the book authors with creating the browser or XML ex nihilio -- they just jumped on some of the most popular bitwagons propagating across the Net. But the result is a stunning completion of a very important and cohesive vision. The book doesn't crackle with bleeding-edge novelty, but shines with the certainty of a job well-done.
Peter Wayner is the author of Translucent Databases , Disappearing Cryptography , and a number of other books. You can purchase Creating Applications 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.
Standards anyone ? (Score:0, Insightful)
It isn't necessarily a web application. (Score:3, Insightful)
That being said I run mozilla on mac os 8, 9 & 10, linux, solaris and windows. I'm not sure what the problem would be.
Re:Standards anyone ? (Score:5, Insightful)
Nope.
Can my IE web app run on almost every platform out there?
Nope.
Can I modify IE in case I need additional functionality?
Nope.
There's the tip of the iceberg in differences...
Re:Standards anyone ? (Score:3, Insightful)
Not sure whether it will catch on, but it's nice that they make it easy for other developers to benefit from all the work that's gone into coding Mozilla.
the important part (Score:2, Insightful)
To me this is the one of the most important parts. I'm not a programmer, nor will I ever be I think. But from an evangelism perspective, I can point to this and say: "See, see? They were not just f-ing around for years, they were building something with amazing functionality!"
Lisp is just procedural?! (Score:3, Insightful)
MS has been pretty damned sure. . . (Score:3, Insightful)
Hint: It was *not* to simply have the most popular browser that they made no profit on.
KFG
Re:Standards anyone ? (Score:2, Insightful)
Re:Standards anyone ? (Score:5, Insightful)
An example of this kind of thing would be Komodo [activestate.com], an IDE for Perl/Python/Tcl/ development.
I seem to recall that some use MSIE as a component architecture to develop generalized applications in much the same way, but I can't think of any examples of this right now.
The real problem here (Score:4, Insightful)
This is why stuff like TCP/IP and "C" took off, because they were in the hands of a standards body who were responsible and considerate of issues like this.
The Gnu/Open Source community needs to take into consideration that since they are working their way into the mainstream they *must* begin to be more proffesional and intelligent in matters of "standards" or they risk alianating the commercial development community.
That would be a serious mistake on their end, serious indeed.
Warmest regards,
--Jack
Re:the important part (Score:2, Insightful)
Re:Current Applications? (Score:4, Insightful)
In short anywhere which requires a web-oriented application (preferably cross-platform) would do very well to evaluate Mozilla as a development platform. I expect database and server-side apps will ship in due course with applications based on Mozilla to do form design and other administrative tasks in a cross-platform manner.
Re:Standards anyone ? (Score:5, Insightful)
What is doubly amusing is that when Microsoft attempted to kill (perhaps did kill) Netscape, they did so because they were scared the browser would turn into a platform that would let you write kickass apps making Windows irrelevant. In a way, this became a self-fulfilling prophecy, as if Netscape hadn't been taken over by AOL and left to do its own thing, would Mozilla (a platform as well as a browser) exist today?
I doubt that one day all desktop apps will be written using Mozilla. But it's an intriguing possibility, I look forward to the GRE with much interest.
Re:My Review (Score:4, Insightful)
Folks, this is a rip of the preface of the book.
Have a look for yourself [mozdev.org] and then mod this troll down.
XUL and coordinates (Score:2, Insightful)
When I last checked, XUL did not have coordinate-based positioning, but rather nested-based. Coordinate-based works better with visual screen builders IMO. True, it does not auto-scale as well, but when the boss wants something very specific WRT GUI layout, coordinates are much easier than nesting to give him/her precisely what they want.
So it gets a 9, big suprise (Score:4, Insightful)
Comment removed (Score:3, Insightful)
But is the book any good????? (Score:2, Insightful)
This is NOT a book review (Score:4, Insightful)
The book itself *IS* good (at least that which I have read so far). You'd never be able to tell from this review though....
Re:God Damn It That's My Pot Pie Kitty! (Score:3, Insightful)
There are MANY places where thin-ish clients are far more practical then thick clients. Especially when MS Windows is what's running on the thick client....
There are many places for thick clients also.
IMHO.
LoB