Last month I did a review of
the Book HTML
Utopia: Designing without Tables using CSS and how it taught you to use the
advanced features of Cascading Style Sheets (CSS) instead of the “old school” table
based layouts. CSS is one of the mandatory skills that anyone doing web development
needs to have. Another is a good understanding of JavaScript and the HTML DOM
(Document Object Model).
Quick Review
DHTML
Utopia: Modern Web Design Using JavaScript & DOM by Stuart
Langridge is a great book for learning how to write client side browser code that
takes advantage of the richness of browser DOM. The book is well written and
includes thorough, clear and precise examples. In today’s environment of richer
and richer client applications, this can be a great tool for learning the ins and
outs of this style of client side development in a robust, supportable fashion.
Why not just use a framework?
Just this last week Scott Guthrie announced on
his blog that Microsoft would be included jQuery inside
of Visual Studio (starting within the next few weeks as a download). jQuery
is just one of many great JavaScript frameworks that have abstracted out much of the
complexity of dealing with JavaScript and the HTML DOM. jQuery (like the other
frameworks) creates an abstraction layer that means you do not have to deal with the
differences between browsers or the differences between versions of a browser.
With so many great frameworks out there, why would you need to learn the “raw” or
“low level” coding that is discussed in the DHTML Utopia? Technically you would
not need to, but if you are like me you have a natural curiosity of what is going
on below the covers, even if you use a framework like jQuery. And that understand
is what this book gives you. Also no framework will ever cover every use case,
so it is good to know the details, in case you need to drop down and “roll your own”
solution.
A little dated
The book was published in 2005, which means that much of the material is probably 4 years old (due to the publishing lead times). As a result, the specific browser versions are at least one major version out of date (example: all Internet Explorer discussion are version 6, not the current version). If you disregard the specific discussions, the book does a good job of standing the test of time for 2 reasons: the specific issues that he discusses are still prevalent on the Internet today and more importantly he talks about some great techniques for not coding to specific browser versions anyway.

