DOM Enlightenment Book Review

DOM Enlightenment Book Review

I joined the O'Reilly Blogger Review Program for books like DOM Enlightenment. It is an insightful and easy-to-read book about manipulating and traversing the DOM with JavaScript as opposed to an abstract library like jQuery. This is a great look at fundamentals and very useful for better understanding JavaScript libraries, like jQuery, Zepto, etc. In cases where you are creating an HTML 5 hybrid application that only targets a single browser, like Mobile Safari, you may prefer to work with the DOM purely via JavaScript. In these cases, DOM Enlightenment becomes an indispensable reference manual.

Similar to JavaScript Enlightenment

DOM Enlightenment BookJust like JavaScript Enlightenment, DOM Enlightenment focuses on small, bite-size examples of using JavaScript for manipulating and traversing the DOM. I think of it as more of a cookbook. For each topic you get a brief introduction to the topic followed by sample code with console.log messages and then a link to the live code on JSFiddle. I learn more by seeing and running the code so this is ideal for me. However, if you are more into longer, deeper narratives on a topic, then this book probably isn't for you. Personally, I thought the amount of discussion was perfect.

Don't be fooled by the 180 pages. I was pretty impressed with the amount of material covered. Since the book isn't filled with fluff, you get a lot of information packed into a small footprint. I am not a DOM expert by any means, but DOM Enlightenment covered way more topics than I expected. I was amazed the author even covered "Element Node Geometry and Scrolling Geometry". I must admit I glossed over that topic, but if I ever need to know about it I'll be sure to reference DOM Enlightenment.

At the end of the book is an interesting chapter on "Creating dom.js: A Wishful jQuery-Inspired Library for Modern Browsers." Like all of us who read the book, the author was thinking it would be cool to write a jQuery-like DOM Library given all the knowledge of manipulating and traversing the DOM with JavaScript. Makes me think of Zepto or the new jQuery 2 that will be cleaned up for modern browsers. Think no support for older IE. If you have ever thought about creating a jQuery-like DOM library, chapter 12 is at least a neat introduction to common patterns and thoughts. You can use that along with Zepto or jQuery 2 to start hacking your own library. Neat stuff for those weekends and late nights.

Conclusion

I was impressed by DOM Enlightenment. I love learning about fundamentals. I love cookbook-style books that I can read for just a few minutes at a time and learn something new. The book exceeded my expectations on topics covered, and I enjoyed how the author wrapped it all up by introducing us to building a jQuery-inspired DOM Library. Just make sure you are happy with this style of writing before you purchase the book and have an interest in learning the fundamentals of using JavaScript to manipulate and traverse the DOM as opposed to a library like jQuery or Zepto.

Check out DOM Enlightenment on O'Reilly's Website. There's also a free, online, unedited version at DOMEnlightenment.com.