Single, Unified Library For Ajax, UI Widgets, Grids and Charts
This was probably the most compelling reason to use this library. Everything I needed was in a single, well
thought out library. This is not to say that all of these features are not possible with jQuery. However, if
I were to achieve this with jQuery, it would be by stitching together quite a few disjointed plug-ins.
I’ve enjoyed the richness of the UI widgets and the Layout containers. All widgets and layouts can be laid
down either declaratively or programatically. The choice of form widgets is much richer than JQuery. I’ve really enjoyed the various variety of various Text Boxes and several other thoughtful widgets like the Busy Button.
All of these features make my webapp look very slick and consistent. My end users complement me on the look and feel quite a lot.
Dojo’s own code is modularized using AMD. It dynamically loads only whats needed. There is no need to decide what you may need before setting up the project. Which mean there is no need to use a tool to generate a minified js file or the need to compile a new one if you decided that you needed that feature after all.
Separation Of Concern
Dojo has a lot of build in infrastructure to make it easy to write code with separation of concern in mind. For Example, it has a lot of data store classes to separate data from how you want to view it. The same store can be used to generate a data grid or a cart. The store can be based on in-memory data or a JSON service. It all fits together pretty well.
Rich Collection of Tutorials and Documentation
Dojo’s got an extensive collection of tutorials on almost all important aspects of the toolkit. All tutorials are accompanied with examples that can be run and tested right on the spot. The same it true for the API documentation. Now, this is important, because this documentation spans everything. For me at least, this is much better than using jQuery and several plug-ins, with several different sources of documentation and several levels of documenting quality.
Although its been a pleasure using Dojo, I don’t believe that I’ll simply stop using jQuery. Dojo worked out great when writing an internal enterprise application. The jQuery library is still much simpler to learn and use. There also seem to be more creative plugins available for jQuery e.g the jQuery Masonary plugin.
Hence, if you’re writing an enterprise level application, use Dojo. If you’re looking to write the next Pinterest or Facebook, jQuery might have more interesting options.