Slashdot Mirror


Learning jQuery

hal10001 writes "One complaint of just about any book that attempts to teach a new language or technology is a presumed level of expertise by the authors. I found it refreshing that in Learning jQuery the book begins... well, at the beginning, and increases in difficulty along with the concepts. It gives designers and entry-level interface developers the opportunity to come up to speed at an acceptable pace."Read below for the rest of Brian's thoughts on the book. Learning jQuery author Jonathan Chaffer, Karl Swedberg pages 352 publisher Packt Publishing rating 8/10 reviewer Brian Reindel ISBN 978-1-847192-50-9 summary Better Interaction Design and Web Development with Simple JavaScript Techniques While I consider the screenshots to be lacking in quality, overall, this book will definitely leave you satisfied. The essentials required to be successful at developing with jQuery are all touched upon, and the depth of explanation for each piece of code is precise and clear. You will not find yourself flipping through chapters of fluff, added only to beef up the number of pages. Each tutorial and example is carefully planned and executed.

Describing concepts in relation to any JavaScript library can be difficult. Since libraries are in fact JavaScript, it can be easy to confuse beginners. The authors are careful not to allow this to happen. This is especially apparent in Chapter 3, when highlighting the event model, event capturing and event bubbling. A clear distinction is made between browser implementations and the unique facets of jQuery. Official documentation is often wanting in these areas, and the book fills in the gaps nicely.

Throughout Learning jQuery, additional notation is included to subtly remind developers of any potential gotchas, which is a nice feature. For instance, while referencing the clone() method, it was noted that only elements of the DOM are copied, and not the events previously associated with those elements. These tips are always appreciated, since in a development environment they can prevent hours of head-scratching, and help eliminate frustration.

I was also impressed that the authors cover both JSON and XML as data-interchange formats in Chapter 6, AJAX-How to Make Your Site Buzzword-Compliant. This illustrates conformity not to a single standard, but to real-world development scenarios, where you might encounter both formats. My only complaint here is that not enough time was spent specifically on jQuery's $.ajax() method for AJAX implementations, since in my experience this tends to be more popular than the $.get() method.

The only change I would make to the format of the book would be to divide it into two parts. It is obvious that the authors intended to begin with jQuery key concepts, and then move into cookbook mode. This does happen after Chapter 6, but it would have been helpful to make that distinction more evident. If you do buy the book, be aware that in order to digest these great tutorials, that you should dedicate more time for the latter half of the book.

Finally, I would like to add that although this book does not cover jQuery v.1.2, or the UI plugin, it is still worth the purchase. If you use the latest version of jQuery, and still want to implement the same XPath selectors covered in the book, you just need to download a plugin. You will not find a better resource online for getting into the guts of the jQuery JavaScript library than you will offline reading the book Learning jQuery.

You can purchase Learning jQuery from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

4 of 85 comments (clear)

  1. Expertise assumed by authors? by stephend · · Score: 2, Interesting

    "One complaint of just about any book that attempts to teach a new language or technology is a presumed level of expertise by the authors."

    Actually I have the exact opposite experience: whenever I try to buy a book for a new language (or whatever) they always assume that I'm starting right from the beginning, to the point of explaining what an "if" statement and a "for" loop are for. I'm sorry, but if I'm learning C++ or Perl it's pretty unlikely that it's going to be my first computer language.

    I know it's difficult to get the level right but not every book has to be 1000 pages long with full colour screen-shots...

  2. Re:Poor Choice of Name by Anonymous Coward · · Score: 1, Interesting

    I see. So you must be an anticategorism anarchist I take it?

  3. Re:lost in DOM caves by Anonymous Coward · · Score: 2, Interesting

    I am trying to think of a worse idea than this, but failing.

    It makes more no sense to shoehorn relational concepts into something -- a Document -- that is inherently non-relational than it does to shoehorn hierarchical concepts into something inherently relational.

    I am more than willing to be proven wrong, however; if you think it is a good idea, you could pretty easily build a jQuery plugin to provide SQL-like access to elements in a document. It would be a good test bed for your ideas that would require no more than a browser for others to try it. Release it into the wild, and, if the idea truly has merit, people (including me) will embrace it. If not, or it is too diffuclt for you to implment, than perhaps the idea is not all that you think it is.

  4. Very good, and very easy by SirJorgelOfBorgel · · Score: 2, Interesting

    I have used other javascript libraries like Dojo and YUI in the past, but I fell in love with jQuery after a day of playing with it. It's lean and it's mean. I was by no means very good in JavaScript when I started with it (though I did have a lot of experience in other programming languages), but jQuery was really easy to grasp. Then after a few weeks, after reading lots of code for jQuery plugins and the like, I found I knew a hell of a lot of rediculous details and (seemingly) 'quirks' (that are really cool features) about JavaScript. By now I find JavaScript actually a nice language to code in, all because of jQuery! (Seriously, I tried the same with YUI and Dojo and just got a headaches) Best JavaScript framework I have ever used, even if I disagree with JohnResig about what important features all the time ;)