Posts Tagged ‘jquery’

Book Review: Learning jQuery

Saturday, July 5th, 2008

Packt sent me a copy of “Learning jQuery” by Jonathan Chaffer and Karl Swedberg. jQuery is a javascript library that I have been using on and off and was delighted to be given a chance to review this book and have a chance to read through and learn about jQuery in a less urgent manner than I had initially.

With a tag-line of “Better Interaction Design and Web Development with Simple JavaScript Techniques” and some 376 pages long (split into 10 chapters, along with three appendices) the book excels at fulfilling that promise.

From the chapter on Getting Started through selectors (css, dom, xpath), Chaffer and Swedberg examine and show how to use jQuery for animations, ajax and manipulating tables to the all important client-side form validation with disarmingly concise eloquence and skill. They also detail how to use and develop jQuery Plug-ins.

Any of the required server-side code examples, for the AJAX chapter, are in PHP but that doesn’t make the book any less relevant or more specialised towards PHP – it should be trivial to rework them for any language.

The authors use an example based approach and this works very well as they continue to progressively enhance each example with additional features and functionality – you can really see their shopping cart and image carousel examples really build up into very well formed examples of what can be done with jQuery.

If you haven’t already been turned on to jQuery by it’s excellent on-line documentation and fluent API (method chaining), this is the book that will do it.

There is one caveat though: “Learning jQuery” was written for jQuery v1.1 and published in June 2007; version 1.2 of jQuery was released four months later with some substantial changes to the API.
This doesn’t matter all that much to be honest; obviously this book doesn’t cover what’s available in v1.2 but until there’s a second edition of this book (and wouldn’t that be great?) you won’t find a better book on the subject.