Intro and motivation. While my recent blogging activity and interests have been (and are) about Clojure, I am still very much interested in, and actively programming, JavaScript. That is why I immediately accepted when Amit Sharma from Packt Publishing asked me to review the new book Ext JS 3.0 cookbook by Jorge Ramon (
find links below 1).
Historically, I have been known for advocating the Ext JS framework for RIA development in controlled environments since it is very general and customizable, and because it lifts the abstraction level much higher than when developing at the DOM level with many other frameworks. Let me emphasize: You
do need to understand the DOM, event models, and browsers, but that you don't have to think at this low level constantly when developing (this discussion is the topic for another blog post, based on discussions we had at Trifork).
One of the problems with Ext JS is that is has perhaps the steepest of learning curves among JavaScript frameworks, and while the API documentation is good, it doesn't tell you much about the programming model and idioms, or how structure and modularize the combining of components and containers into applications. Fortunately, the Ext JS developers have provide a large number of examples of how to use the various Ext JS functions. Unfortunately the examples are code only: they don't come with explanations of why things are coded as they are. So it is your job as a developer to extract this information from the source code, and decide which bits you can and can't use in your production code. Depending on you ability and willingness to read the examples and the Ext JS source code itself, you may find this more or less viable learning route.
To me it is obvious that there is need for one or more Ext JS books. In fact, I am contemplating considering starting-to-think-about writing something myself ... ;-)
Review. I won't cover the structure of the book other than to say it is organized as a number of recipes, each showing how to build a mini ExtJS-based GUI for a certain use-case. Other reviewers have already
covered recipe structure in detail. Instead, I will take a step back and give you my opinion about what you'll get and what you won't get with this book, i.e., it's all about expectations.
(Anyway, the best way to get a feel of the form and flow of the book is to read a sample chapter. I found the following online; there are many more topics in the book, but the form is the same:
http://www.packtpub.com/files/8709-ext-js-cookbook-sample-chapter-3-load-validate-and-submit-forms.pdf)
Ext JS 3.0 markets itself as: "Quick answers to common problems. 109 great recipes for building impressive rich internet applications using the Ext JS JavaScript library." As other reviewers have mentioned, the book successfully does what it sets out to do: It gives you concrete detailed solutions to a number of problems selected by the author; no less, but also no more. There is code that comes with the book, to you don't have to type in the examples from the book. The book is very code-heavy: as you can see from the sample chapter, a 60-80% to 40-20% code-to-text ratio.
Aspects I liked.
The book is focused: apart from the preface which is good, there isn't a long ramble introduction wasting my time. It is into the meat already from Chapter 1, page 1. Good.
It is fairly complete in that parts of ExtJS that cover making UIs, here I wasn't missing anything in particular.
It does what it sets out to do, and it is well organized, well written and consistent.
There are fairly concise sections "There's more..." and "How it works..." which discuss aspects of the code just described.
The "How to do it..." sections are is step-by-step,
and explaining what each step does.
Aspects I didn't like so much.
It is not the kind of book I, personally, was looking for: I don't want a
recipe book, since such a book would often be too focused on too great detail, too much boiler-plate code, and things I could have figured out myself. I would prefer a book that was would focus on concepts, real-world problems, density and concision of code examples, common errors, how to organize and structure large applications, development techniques and best practices (the latter it does to some extent).
Conclusion. As mentioned I think this book delivers what it promises. I am happy to have a copy lying around. I think I will use it, and I do think it is valuable as a guide to the extensive Ext JS example code.
If you are a complete beginner or quite advanced user, I do not think this book is of that much value to you. If you are at an intermediate level, having played around with Ext JS and JavaScript, but not built anything too serious, I recommend it.
If you are looking for a more conceptual book, obviously this book is not for you. If you a looking for a concrete step-by-step, "hands-on" book, this book is for you.
If you would like something to complement the Ext JS Sample code, this book is for you. If you can understand and generalize the Ext JS sample code, this book is not for you.
Hope that helps :-)
1Disclaimer: I agree with Giles Bowkett that many times blogs aren't the best source of truthful, objective information (aka "
Godless Communist Bullshit"). It is your job as a responsible thinking reader to consider if there are hidden agendas and economical interests that might cause the publisher to not present the truth, the whole truth and nothing but the truth. The people at Packt Publishing are smart, they understand this. They've found a bunch of bloggers and asked them to do reviews (see below).
I want to make it completely visible that I am participating in Packt Publishing's affiliate program that gives me a payment, not for the review, but for each purchase originating from this site.
My manifesto here is: while there is value in money, I value integrity more. I have striven to give as fair and objective a review as I possibly can (I hope you can see that; if not, let me know).
This is the Ext JS 3.0 cookbook link to use if you want to support me.
http://www.packtpub.com/ext-js-3-0-cookbook/mid/011209p0gzfz?utm_source=blog.higher-order.net&utm_medium=affiliate&utm_content=blog&utm_campaign=mdb_001692
Otherwise use this link.
http://www.packtpub.com/ext-js-3-0-cookbook
Other reviews.
Josh Holmes. I agree with everything Josh is saying, and I don't want to repeat it here.
http://www.joshholmes.com/blog/2009/11/19/ReviewOfExtJS30Cookbook.aspx
Arthur Kay. I agree with most of what Arthur says. I don't agree with everything Arthur is saying: I don't think there is much to learn for experienced ExtJS developers.
http://blog.akawebdesign.com/index.php/2009/11/20/book-review-extjs-3-0-cookbook
ExtJS Forum response: It is obviously very positive since it is posted to Ext JS enthusiasts.
http://www.extjs.com/forum/showthread.php?t=79850