on 11 May 2013
I have been using jQuery for several years now on a mixture of commercial and personal websites and on various web applications and whilst I don't always think it is the right solution for a problem, when a library is the right solution jQuery is one of the best. In my current role we heavily use jQuery so I believe I am qualified to accurately review this book.
For this review I am reading the Kindle version of jQuery HotShot which you can buy now from Packt and from Amazon, the book is also available as a paperback for all you cave-people.
I am happy to report that true to form Dan has produced an excellent book that manages to explain some of the core features of the library in interesting and memorable ways. He has greatly increased my understanding of some of the features that make jQuery an excellent library.
With hardly any preamble we are thrown straight into a fun example of using jQuery to create a sliding puzzle game. The example manages to assume no prior knowledge but at the same time doesn't bore someone with prior knowledge by walking at a snails pace, as the book continues the examples get more and more involved.
One of the reasons that jQuery HotShot is able to get straight into good examples is that the examples themselves are littered with little best practice tidbits, for example;
Joining an array of substrings to form a single string is much faster than building a string using the + operator on substrings, and as we're working repetitively inside a loop, we should optimize the code within the loop as much as possible.
Without needing a chapter or section dedicated to optimisations we have been able to find out about the need to take care about what we do inside loops and also learn a quick performance tips when dealing with strings. This certainly doesn't have any direct bearing on the task at hand, but helps point the reader towards the best way of doing things.
My favourite example used in the book is probably the Bounty Hunter mobile site that hooks into StackOverflow looking for questions to answer, but the book covers a wide range of examples including building browser add-ons using jQuery and how to build your own jQuery (which introduces things like grunt.js, node.js, git etc.).
I am kind of cheating, because I was already aware of Dan's writing and work so I knew that he knows his stuff, but you honestly do get the impression that a real expert in their field is writing this book, the way the information is presented shows that he has a deep and broad understanding of the subject material.
Something that I loved but that some might not was how involved the examples were, by this I mean that you could tell the feature or features an example was trying to explain and there are far more concise examples that could have been used, but they would either not have been as fun or wouldn't have had a grounding in the real world.
One small niggle I have with the book is that the terminology for the sections within a chapter don't suit my personality, subtitles like "Prepare for Lift Off" and "Engage Thrusters" belong more in the fluffy self-help books I love to read as opposed to a technical book, but I am fully aware the majority of people probably love that kind of stuff! Another tiny irk is that one of the examples talks about infinite scrolling, and I personally think that infinite scrolling is the devil!
All in all I thoroughly enjoyed this book, and as someone who has been using jQuery in anger for a very long time I did come away haven't learnt a truck load and I imagine you will too. One day I might write a blog post about the things I have learned from this book, in the mean time you should just go ahead and buy it!
on 26 May 2013
jQuery Hotshot is nothing like what I was expecting, and in a good way. There is only the briefest of introductions to how jQuery works then straight into a tour de force of some pretty impressive real world examples of what can be done with jQuery. From a simple game, through UI enhancements, advanced Google Maps API developments, jQuery Mobile, the HTML5 file API and plenty more.
I really like Dan's writing style. To me it seems relaxed and comfortable and I was able to follow along with the code and explanations without any bother.
It's obvious Dan knows what he's talking about and the first few pages of the first chapter will convince you if you have your doubts about his expertise. Absolutely top drawer.
One thing I wasn't so keen on was the spy astronaut headings in each chapter. I thought they went just that little bit too far past fun and quirky into annoying and distracting, but they're only headings so didn't get in my way too much and may well make the book more readable for other people.
Another thing that wasn't so hot was that the download to accompany the book didn't work for me at all. I tried a few times over a couple of weeks in different browsers, but not dice unfortunately. Hopefully the publishers will have that sorted soon.
Overall I would definitely recommend this book for anyone looking to use jQuery. It's a real eye-opener and I'd be surprised if you didn't learn plenty about the library and its capabilities, and indeed plenty about web development in general.
on 26 June 2013
The book is divided into ten chapters, each chapter covering a complete project. You learn how to create a sliding jQuery puzzle (no, not how to download a plugin that makes a sliding puzzle from a given image; you actually program your own and learn all the skills needed, which is so much more valuable!), how to combine jQuery with the Google Maps API, how to create a jQuery Ajax File uploader, how to build your own jQuery distribution from github and much more.
Each project is also highly structured with sub missions and mini debriefings, wich is very pleasant to read. It divides the projects into manageable chunks of code that are always followed by thorough explanation. Every project also concludes with a 'hotshot challenge' in which guidelines and tips are given on how to further adjust or optimize the project. These are left as an exercise for the reader.
Although you don't have to read the from book cover to cover and you can cherry-pick on the chapters/project that interest you most, there is some kind of a learning curve in the order of chapters. The beginning chapters (sliding puzzle, fixed position sidebar with animated scrolling) are generally easier than the latter ones (creating a jQuery heat map and working with additional libraries like knockout.js). So I assume it is best read from chapter to chapter if you want to get the most out of this book.
De example code files can be downloaded from the site of the publisher to give you a head start on the projects.
This is definitely a book for the jQuery programmer that wants more than just a bunch of pointers to plugins and URL's with readymade solutions. It is a book for the ones that are willing to dive in deeper and to investigate time to master the more advanced uses of jQuery.
It also recognizes that jQuery does not live on an island. It shows you how to combine jQuery with other API's and libraries like Google Maps, jsRender and knockout.js. You not only learn jQuery, but also where it stands in the current front-end landscape and how to best interact with other components. It therefore absolutely deserves a five star rating.