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.

6 of 85 comments (clear)

  1. Bravo by cromar · · Score: 3, Insightful

    While I don't plan to use jQuery, I must commend you on a very well written review. It provides your opinion of the book, without bogging the reader down in chapter-by-chapter recounts of the material.

  2. Well? Well? by MeditationSensation · · Score: 2, Insightful

    Oh, man, I'm really getting annoyed at that "...well, blah" phrase people use. Next time someone, well, says it, I'm going to, well, sticking a fork in my, well, eye!

  3. Poor Choice of Name by Anonymous Coward · · Score: 1, Insightful

    Why did they name a Javascript library with the same prefix used by numerous amounts of Java libraries?

    It would be like creating UltraLib.NET... exclusively for the Java platform.

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

      They shoudl have prefixed it with "js", because its pretty well understood that js means javascript. I wouldn't create a library for Visual Basic and call it vQuery, that would be stupid. I don't think its out of line to think that most people would assume jQuery is for Java. I did.

  4. Re:what is jquery? by Anonymous Coward · · Score: 1, Insightful

    Otherwise known as Yet Another Language that no one really needs/wants/or understands, but will command big bucks on the job boards.

    Of course that will be for people with 5+ years experience in it.

  5. Re:what is jquery? by Goyuix · · Score: 4, Insightful

    Perhaps I am just feeding the troll, or perhaps I am just sharing my perspective... but having used many of the same libraries you have we somehow diverged at some point. And that is probably a good thing as I doubt we are really working with the same audience. I really have little to do with design and interaction, I really tend to focus much more on architecture/transport/etc.... the actual "business" logic.

    My evolution went from using prototype to investigating scriptaculous, mootools and YUI - none of which lasted very long as quite frankly they *seemed* more like toys to animate elements on the page rather than providing a clean and transparent way of sending/retrieving data and altering the data on the page. They were quite good at what they did (or their demos showed) but never really seemed to address what I was trying to accomplish. YUI was also VERY cool, but also very bloated feeling and cumbersome to actually use. Put simply, I am much more interested in things like JSON, REST and POX than the various libraries to help transition between those "transports" and display on the page.

    A while back, maybe a year or possibly a bit more, I was introduced to jQuery by another developer and based on his recommendation decided to check it out. I wasn't quite ready to switch over from prototype (which seemed to more closely resemble the custom JS I would write) and adopt a new kind of similar yet strange syntax from a library I didn't quite have an appreciation of. After adopting it for one project to force myself to learn and use it, I have since whole heartedly switched over from prototype and now love and endorse jQuery as the default AJAX library (I hate to call it that, since it really does so much more). Quite honestly I think each of the "major" libraries out there has many benefits, and I am sure you can cite a great variety of reasons why product x is better than product y so check out what is there and see which one is really going to help you the most. If I was doing complex UI manipulation stuff, I would probably look at scriptaculous or mootools again, although the preview for jQuery UI looks promising as well.

    *Disclaimer/Note: this is just my personal experience with them and should not reflect anything on the actual product. I fully recommend checking out the various options to see what works best for you.