Shop now Shop now Shop now  Up to 50% Off Fashion  Shop all Amazon Fashion Cloud Drive Photos Shop now Learn More Shop now Shop now Shop Fire Shop Kindle Listen in Prime Shop now

Your rating(Clear)Rate this item
Share your thoughts with other customers

There was a problem filtering reviews right now. Please try again later.

on 8 October 2008
The Dojo toolkit is, arguably, the most advanced JavaScript framework available today. jQuery might be designed equally well and be more compact, but it lacks advanced and ready to use GUI components. Ext JS might provide a ton of colourful widgets, but it lacks the implementation and API elegance of Dojo, not to mention it features a licensing system which is awkward enough to turn away any sane open source developer.

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.

Despite its name, this book is targeted to the programmer who doesn't yet use Dojo, as opposed to the Dojo programmer who wants to dig more deeply into the framework details. It, however, spans a wide range of Dojo-related topics: from the basics to the most advanced widgets (trees, grids) and other areas (internationalisation, extension of the framework). Basically, you just need to know JavaScript to read this book: even though Dojo also features an HTML declarative syntax, to obtain something useful out of the framework you really need to be comfortable with JavaScript.

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.
0Comment|2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 12 December 2008
This book is essential reading material for anyone looking to develop RIA's.

I read this book hot on the tail of DWR 2.0 Projects and frankly I appreciated a more in depth coverage of some of the esoteric JavaScript code people use these days to code RIAs with Ajax. Having said that the book for me was not one where you instantly get things. Sometimes the sentences were't precise enough and a little too open to interpretation for my taste. I also found some of the diagrams in Chapter 9 particularly hard to get my head around. Not at all intuitive. There was also the odd forward reference to things that hadn't yet been covered. But by and large this didn't detract from the overall read.

I have to say I am very impressed with Dojo. It is a very polished project with quite a huge scope:
* If you've ever used templating technologies like Freemarker or Velocity, it has elements of this built in.
* Great themes. Architecture handles browser variants elegantly in CSS. No hacks here.
* It does a complete overhaul of the event model fixing up memory leaks in Internet Explorer.
* It is the most Accessibility friendly Ajax framework I've seen.
* It handles i18n really well and subclasses textboxes so you can have things like a numeric text box. Then you can apply currency formatting. It'll maintain two versions of the field in the browser. A viewable version and one that gets sent back to server. So things like thousand seperators, decimal points and currency symbols can be inserted and then stripped out in version returned to server. Great for things like percent 50% -> 0.5 etc. Great date formatting too.
* It also enables things like using the 'Esc' key to restore old values from form fields too.
* There is a really super enhanced textbox control that allows emulation of word processor type features such as applying fonts, bold, italic, strikethrough, justification, numbered and bulleted lists.
* If has similarities to GWT, Swing or VB.NET so you can do things like use Panels and Splitters for resizable panels. You can organise the layout in containers.
* You can achieve similar effects to Rico Accordian (like the Outlook shortcuts menu) and tabbed pages and there is wizard functionality to accumulate fields over several pages and do a submit at the end.
* It has components for handling Treeviews and Datagrids (view & edit mode). For the latter, think Excel spreadsheets. You can do the equivalent of freezing panes, so only some cells scroll horizontally or vertically. So you can effectively have labels that don't disappear when you scroll the data.
* Dojo has a data module enabling you to return result sets as JSON or XML or from a web service through Data Drivers. This makes it easy to mock server-side services and quickly prototype systems for demonstration purposes.
* You can cache the whole result in the page or chunk it (think telemetry/lazy loading to handle paging).
* ResultSets can be cached in a node of the web page and bound to controls allowing on the fly sorting/filtering without the need for server roundtrips.
* The book also illustrates classic Ajax techniques like:
** Yellow Fade Effect (visual cue for form field currently in focus)
** Toaster (notifications that scroll down screen)
** Modal effect, rendering form elements behind modal form inoperative without lots of manual coding.
** Drag and Drop.

The book wraps up by putting together a framework and sample app to demonstrate how you can apply Dojo to emulate the look and feel of a native application in a web browser which tied everything together nicely.

There was one last bug bear that confused me too. P188 ">/g". What's this all about? I've made a guess and posted on Pragmatic Forum. If anyone knows correct answer, please bring me up to speed. :-)
0Comment|One person found this helpful. Was this review helpful to you?YesNoReport abuse
on 26 July 2012
This book begins with the authors explaining the greatness of Dojo and how dedicated the developers are by refactoring all the code back in 2007. From what I can tell they are still just as dedicated since I have been having trouble getting the code examples to work.

An early exercise involves creating a spreadsheet-like view using dojox.grid.Grid only that dojox.grid.Grid no longer exists, but by poking around I got it to work by using dojox.grid.DataGrid instead. Next up some code gets added to run asynchronous requests that pull in search results from yahoo based on the table row clicked. This does not work either. According to Yahoo 'The service has been shut down.' After reading through the documentation on [...] I am now finding that the method for including modules used by the book has been deprecated in favor of AMD format. To be fair I have not got very far with this book yet, but I'm already getting tempted to give up on it in favor of the online docs. It's a shame because this book is actually quite well written.
11 comment|One person found this helpful. Was this review helpful to you?YesNoReport abuse

Customers also viewed these items

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.

Sponsored Links

  (What is this?)