Sitepoint Book Review
DHTML Utopia: Modern Web Design Using JavaScript & DOM
Stuart Langridge
Sitepoint, May 2005
I received this book from Sitepoint shortly after it was published. I was excited to see that it was going to cover AJAX and some more modern techniques that web designers are using today, and not a summary of what was being done a year or two ago. Since I'm usually reading a half-dozen books at any given time, this one sat in the queue of "books to read" for a couple of months before I got around to it. I also have a Firefox Secrets book from Sitepoint that I've begun reading - review forthcoming.
I've read quite a few books on web design from authors like Eric Meyer, Jeffrey Zeldman, Danny Goodman, Scott Isaacs, and others. While the authors name wasn't new to me, I hadn't read too much of his writing before. I'm happy to say that the writing style in this book was very clean and organized - perhaps Stuart is a great writer, or just had a great editor...it's usually at least one of the two. :-) (I've written enough to know that a good copy editor can save your bacon!)
So, the book:
Sometimes I start reading a book with some preconceived notion of what I'm going to learn but with this book I was just going to go along for the ride and really didn't have any expectations. So, I can't really say the book did or did not meet my expectations. Having said that, I think this book does a great job in a few areas.
- It doesn't dumb down DHTML concepts to the point that you feel you're learning HTML and DOM from the beginning. It provides a brief overview of HTML, CSS and JavaScript - but covers them quickly just as a way of saying, "if you don't find yourself skimming over these parts...you might get a little lost later on." I appreciated this because of the fact that I've started reading a few books on DHTML just to find myself getting very bored with the mundane beginners introduction to HTML and "what the internet is" or "how the internet and web pages work". An introduction for a book on DHTML should be like this one was. Short and sweet.
- After the introduction it gets right to the point, wastes no time. Case in point: Chapters 2, 3, and 4 are on the DOM, Handling DOM Events, and Detecting Browser features. Like I said, all technology introductions were covered in the first chapter.
- After code samples are listed - the author takes the time to analyze them in detail, a line or two at a time. This not only helps those a little unfamiliar with JavaScript learn but, it also helps experienced JavaScript'ers reinforce their knowledge and confirm that they understood the script correctly. Plus, it's easy to skip over the "what did we just do here" areas if you read the script block and had no questions about it.
The chapter on AJAX "Remote Scripting" was good. I felt it was a little bit cluttered with information that didn't need to be there, such as the origins of XmlHtttp and what not but overall it was a good overview of using JavaScript to manipulate DOM elements by calling the server for data. There is also a short 15 page chapter on using XPath that didn't seem to fit in the book. In my opinion, if you're going to talk about XPath only and not even really introduce XSLT's purpose and the other associated technologies then don't bother with XPath. I just skimmed over this chapter since XPath, I will admit, has never really intrigued me that much.
So, overall - this book falls somewhere between good and great. It covers DOM very well. It covers common JavaScript usage very well. Personally, if I were writing a book like this - I would use something other than a DHTML menu for my samples because it's already been done by a hundred people a hundred different ways. The information on AJAX/Remote Scripting was well done and much more thorough than what you'll find on most websites and free resources. The book isn't very thick (~300 pages) and reads quickly so if you're pressed for time it won't take too much of it. If you're a really experienced JavaScript and DOM developer then you probably won't learn a heck of a lot from this book but if you're like me (really like web design but cautious to learn more advanced techniques) then this is a good book to give you the knowledge that will make you more confident in designing modern, dynamic web pages.