
Of all the Ajax-specific frameworks that have popped up in recent years, one clearly stands out as the industrial strength solution. Dojo is not just another JavaScript toolkit — it’s the JavaScript toolkit — and Dojo: The Definitive Guide demonstrates how to tame Dojo’s extensive library of utilities so that you can build rich and responsive web applications like never before. Dojo founder Alex Russell gives a foreword that explains the “why” of Dojo and of this book. Dojo provides an end-to-end solution for development in the browser, including everything from the core JavaScript library and turnkey widgets to build tools and a testing framework. Its vibrant open source community keeps adding to Dojo’s arsenal, and this book provides an ideal companion to Dojo’s official documentation. Dojo: the Definitive Guide gives you the most thorough overview of this toolkit available, showing you everything from how to create complex layouts and form controls closely resembling those found in the most advanced desktop applications with stock widgets, to advanced JavaScript idioms to AJAX and advanced communication transports. With this definitive reference you get: A concise introduction to Dojo that covers everything through the version 1.1 release Well-explained examples, with scores of tested code samples, that let you see Dojo in action A comprehensive reference to Dojo’s standard JavaScript library (including fundamental utilities in Base, Dojo’s tiny but powerful kernel) that you’ll wonder how you ever lived without An extensive look at additional Core features, such as animations, drag-and-drop, back-button handling, animations like wipe and slide, and more Exhaustive coverage ofout-of-the-box Dijits (Dojo widgets) as well as definitive coverage on how to create your own, either from scratch or building on existing ones An itemized inventory of DojoX subprojects, the build tools, and the DOH, Dojo’s unit-testing framework that you can use with Dojo — or anywhere else If you’re a DHTML-toting web developer, you need to read this book — whether you’re a one-person operation or part of an organization employing scores of developers. Dojo packs the standard JavaScript library you’ve always wanted, and Dojo: The Definitive Guide helps you transform your ideas into working applications quickly by leveraging design concepts you already know.
User Ratings and Reviews
2 Stars NOT for non-programmers
This book is incredibly frustrating. The introduction promises the book will address anyone “who is able to construct a very simple web page and apply a dab of JavaScript and CSS…” What a joke. I’m a web designer who prototypes in HTML, CSS, and slightly complex Javascript. But this book continually mystifies me. Instead of giving clear, plain-English, step-by-step explanations, it jumps headlong into complex code samples and advanced programming terms, leaving me completely in the dust.
And don’t get me started on the typos and errors. The funniest is that in the illustration figures, different items shown top and bottom are referred to in the captions as “right” and “left.” I’ve already stumbled on numerous typos in the code samples. I guess that’s kind of standard for computer books these days, but I expect a little better from O’Reilly.
Sigh. Guess I’ll have to look elsewhere for help learning Dojo.
5 Stars The Dojo Mojo
Matthew Russell has captured what makes Dojo the “magic sauce” of the Ajax world. As he indicates in the book’s dedication, Dojo can be your friend in combating browser idiosyncrasies. Since Russell has been an active participant in the Dojo development community for a long time, he’s in an excellent position to write from an expert’s viewpoint. Another Amazon reviewer has covered the book’s contents thoroughly. “Dojo: The Definitive Guide” is very well-organized and covers lots of ground. I appreciate the fact that the author doesn’t simply rehash online documentation; instead he provides real insight and coherent explanations. Like most O’Reilly books, the table of contents and index are invaluable in rapidly honing in on a particular subtopic.
To get the most out of this book, you do need to have some web development background (JavaScript, CSS, HTML), but then who else would be purchasing this book? While the book might have benefited from a discussion of Dojo use with YUI, Google Gear, or other toolkits, the author points out this is out of scope. I imagine this saved more than a few trees. (Check out the ongoing efforts of the OpenAjax Alliance if you need to combine multiple frameworks.) I would have preferred access to the code examples packaged in a convenient zip file; perhaps the author will add that to his O’Reilly catalog page (URL given in the preface or just search for “Dojo” at oreilly.com). However, these points do not detract from the thoroughness in which Russell has covered a difficult and rapidly changing topic.
This book is certainly worthy of the fine O’Reilly imprint. The fact that it is edited by the always discerning Simon St. Laurent is definitely a plus. If you are a web developer who needs cross-browser support, you need this book in your library.
5 Stars Definitely THE definitive guide on Dojo!
Dojo has been a staple in the all-inclusive JavaScript toolkit world for a while now, providing a buffet of useful (and not so useful) features that any web developer should at least consider before tackling a Web 2.0/Ajax-based project. Dojo is actually very easy to use and can dramatically increase developer’s productivity - after the steep learning curve that is.
I have been using Dojo (and many other toolkits) for quite some time, however, I fell off the wagon during the Dojo v0.4x days due to a lack of documentation and wandering completely off the path of web development. Recently, I have found the need to venture back into that realm and needed to brush up on my Dojo skills. I immediately went to dojotoolkit.org to read up on any new features and improvements, and found that the documentation was still not quite right — and with the increased feature set available today I felt like I was back at v0.4x again and the struggle was exponential. Reflecting on how much time I wasted poking around the source only to find that the documentation didn’t match the current version’s code was a nightmare - *shudders* - I didn’t want to do that again.
Lucky for me (and the rest of us) Matthew Russell has done a great deal of the legwork in explaining the ins and outs of Dojo’s latest and greatest while dramatically reducing the learning curve. I can’t say enough how important the order of learning things is when tackling a new toolkit, API, or language. Start small, learn the building blocks, and eventually you’ll have something extremely useful in front of you that makes sense - something the Dojo docs could definitely use (not all of us want to read the API before starting) Russell’s book accomplishes this very well by explaining the roots of Dojo upfront so when you reach more complex ground (like creating custom Dijits) you’ll be well prepared.
This book points out early that it is not meant to be a primer for web development — so don’t expect any hands-on guides for HTML, CSS, or JavaScript. However, it actually does do a very good job of not overcomplicating such things. If you know what the building blocks of web development are, you’re interested in all that is the Dojo goodness, and you’re not afraid to get your feet wet then I urge you to take a look at this book. You won’t be disappointed.
5 Stars The Definitive Guide
This book is really the definitive guide when it comes to Dojo. This book comes recommended by Alex Russel who is one of the creators of Dojo. Need i say more?
5 Stars Fills in the necessary blanks on Dojo
Dojo is a comprehensive JavaScript toolkit that provides a layer of insulation between you and browser inconsistencies by leveraging JavaScript and other web technologies. Dojo is very good in situations where YUI is already being used. Dojo has a standard JavaScript library with a collection of drop-in replacements for customized HTML controls and CSS layout hacks, build tools, and unit tests.
Part 1 of this book is a standard library reference that exposes you to the various nooks and crannies of Base and Core, the parts of the toolkit that comprise a JavaScript standard library. Base contains rich functionality as diverse as AJAX calls, DOM querying based on CSS selector syntax, standardized event propagation, and functional programming utilities like map and filter. Core includes lots of additional features for operations like animations and drag-and-drop. While this can be incredibly useful, these features just aren’t as common to all use cases as the features in Base.
Part 2 explores the rest of the toolkit, including complete coverage of Dijit, the rich layer of drop-in replacements for customized HTML controls. Dijit is designed so that it can be used in the markup with little to no programming required, and makes it possible to build attractive web pages that already look and behave much like user interface controls from desktop applications.
Part 2 concludes with a discussion of the build system and unit testing framework provided by Util. The build system includes a highly configurable entry point to ShrinkSafe, a tool that leverages the Rhino JavaScript engine to compress code by as a third or more. DOH stands for the Dojo Objective Harness, and provides a standalone system for unit testing your JavaScript code. This is also discussed here.
This book assumes that you’ve done some web development with client-side technologies such as HTML, JavaScript, and CSS. You by no means, however, need to be an expert in any of these skills and you really don’t need to know anything at all about what happens on a web server because Dojo is a client-side technology. Just knowing what they are and how they are used is more than enough. As in most O’Reilly applied programming technology books, there are plenty of code examples. The book just doesn’t talk about all of this stuff, it actually shows you the technology in action.
If you are an existing web developer or even a hobbyist who is able to construct a very simple web page and apply a little JavaScript and CSS to brighten things up a bit, then you are qualiified to read this book. If you haven’t even heard of HTML, JavaScript, or CSS, and have never written any code that works with any of these languages and technologies, then you might want to consider picking up a good introduction on web development before tackling this book.
The following is a detailed table of contents:
Part 1: Base and Core
Chapter 1. Toolkit Overview
Chapter 2. Language and Browser Utilities
Chapter 3. Event Listeners and Pub/Sub Communication
Chapter 4. AJAX and Server Communication
Chapter 5. Node Manipulation
Chapter 6. Internationalization
Chapter 7. Drag-and-Drop
Chapter 8. Animation and Special Effects
Chapter 9. Data Abstraction
Chapter 10. Simulated Classes and Inheritance
Chapter 11. Dijit Overview
Chapter 12. Dijit Anatomy and Lifecycle
Chapter 13. Form Widgets
Chapter 14. Layout Widgets
Chapter 15. Application Widgets
Chapter 16. Build Tools, Testing, and Production Considerations
Appendix A. A Firebug Primer
Appendix B. A Brief Survey of DojoX
