Book Review: Advanced Ajax by Shawn M. Lauriat

p. It’s not often that I review a book that is a year old for several reasons. The main reason is that technology changes so fast. In this day and age a book 12 months old usually contains out dated information. As with any good rule, there are exemptions, this book is one of them.

p. I am reviewing a year old book for two reasons. First, the author of the book, Shawn M. Lauriat, has discovered that the secret of getting me to do a book review is persistence. Second, even then though, had I let the book “spoil” on the shelf for a year the content is still relevant and important. Having looked this book over and read way more of it than I originally thought I would, I can say that Advanced Ajax is a book that serious Ajax developers will want to own.

p. Having said that let me lay out a warning, “Advanced Ajax” means what it says, it is an advanced book. If you are a web designer who has just completed “Learn JavaScript in One Week” then you do not want to buy this book. Go play with the other crayons and come back when you’ve got a few years experience under your belt. This book is for those developers that already know what a pain it is to develop using JavaScript and love it anyhow. If you’ve already busted one flat-screen by banging your head on it because “the code should work!” then you are ready for this book.

p. The book starts with a good chapter covering usability. It walks you though the basics of JavaScript and CSS to make your sites more palpable to your users. The second chapter builds on this by covering “Accessibility”. This is a topic many developers just gloss over but it’s a very important one and as Shawn shows his readers, Ajax, Web 2.0 and Accessibility are not incompatible.

p. From here on in you are going to need a pick-axe and miner’s helmet because the book starts to delve deep into some advanced topics. It does an excellent job of presenting advanced Ajax topics in a non-library specific way. Just like all web designers should be able to code HTML using notepad.exe, JavaScript developers should be able to write XMLHttpRequests by hand. The book shows not only the client side code but the server side as well (of course all server side examples are coded in PHP) Along the way it gives a great overview of the MVC design pattern and shows how it can be applied not only to the back end code but to your front-end JavaScript as well.

p. One of the hardest things for new JavaScript developers have to learn is how to properly debug applications. These days there are a lot of options that help developers gain insight into their running code. Shawn goes over them in detail showing off tools from the venerable Venkman to FireBug. In addition to these he discussed more advanced topics like profiling your JavaScript code and Unit Testing. (I’m sure I just lost about 10% of you right there)

p. The book goes on to cover topics like Performance Optimization”, “Scalability” and “Documentation”. (See, there went another 10% of you when I mention documentation) Chapter 10 however, stands out as one of the oddest chapters I’ve ever seen in a JavaScript book, “Game Development”. Shawn pushes the envelope a bit here with discussions of both a single player and real-time multi-player version of the old “Space War!” implemented in JavaScript. Granted it’s not Call of Duty 4 but it does give you a taste of what is possible with a little imagination.

p. The single downside of the book has to be that it does not discuss any of the JavaScript libraries. Given the advanced nature of most of these libraries, it would have been nice to have seen a discussion of their relative merits. This downside however, also keeps the book from being quickly dated.

p. In the end, this is a book I’m sure I will be referring to for years to come. While it’s not written as a reference book, the concepts are so clearly explained that I know I will be using it as such.