Rawld Fill, Craig Riecke, Alex Russell
Pragmatic Bookshelf, 2008
Rating: 4/5 (very good)
Dojo still has, however, one major drawback: the documentation is sparse at best, and completely missing in some areas. The API reference is not rich enough, and parts of the online free Dojo Book are outdated; the best option for programmers is often to skim directly through the well-commented source code and through the accurately done test suites. Dojo is a big and complex project, so it will take a while for the community to document it properly; in the meanwhile, the excellent forums, Dojo Campus and the IRC channel provide an excellent resource. Printed books also come to the rescue of programmers who want to use Dojo: being the project so interesting, there are quite a lot of titles available, and Mastering Dojo ranks among the most up-to-date and interesting ones.
Every chapter is devoted to a topic, and is made of an introduction followed by well-made examples. It doesn't provide a reference: you learn the main things, and then if you want to know all the API you'll want to find more documentation elsewhere. What it provides is however what you need if you're new to Dojo: a description of what you can do and some examples on how to do it - so that basically you understand that you'll be able to use Dojo to create a modern web application in and easy (although, as all computer programming tasks, not always straightforward) way.
Even though absolutely not a reference, Mastering Dojo can be used as such to some extent: the sections about events, DOM introspection and editing, classes and data are, for instance, enough in-depth to provide reference for most of the tasks a developer needs to perform. Others, such as the Grid and the Tree, are more like introductions to those advanced widgets, but are nevertheless very appreciated as it's not easy (if at all possible) to find coherent documentation elsewhere regarding them.
All in all, if you plan to use Dojo because to have to create a serious web application, this book is an excellent starting point, and will likely remain useful also when your knowledge of the framework has grown.