On 12/18/2009 I posted a question rearding a comparision between jQuery and dojo on the dojo mailing list. The answers where so interesing that I want to share them here. Here's my original question:
These statistics where posted on the jsr-314 EG together with comments that suggested jQuery having made the race in js frameworks. I'm all into dojo and am collecting arguments in favour of dojo to contradict the jQuery hypothesis. Any suggestions?
1. Mike Wilcox said:
2. Ben Hockey said:
3. Dylan Schiemann said:
What I tell people is pick the toolkit that best meets your needs: * coding style/taste * assistance/support * features * performance I don't really think popularity is what should make your decision for you. If that was the case, we'd all use Windows with Internet Explorer and we wouldn't need toolkits. ;) For what it's worth, we've seen a phenomenal growth trend in 2009, with major organizations adopting Dojo in ways that are just starting to show up, many of which are behind the firewall or as part of other projects, e.g. * IBM * Cisco * Sun * AOL * Thomson Reuters There have been a number of exciting public products released recently using Dojo. For example, yesterday Palm announced their Ares Project which uses Dojo. We're working on the new web site to make the job of explaining the value of Dojo much much easier, but it won't be live for another month or two. If you want more details on how to explain the value of Dojo, please send me an email off list and I'll help answer questions, etc.
4. Jared Jurkiewicz said:
Here's an example of a major corporate initiative (Rational) that uses Dojo heavily for the web ui aspects: http://jazz.net/
5. Kenton Smaltzer said:
6. Eugene Lazutkin said:
To me jquery vs. dojo decision is mostly about complexity of a project at hand. If all you need is gradual/degradable enhancements (== a bunch of one-liners) you can't go wrong with jquery or any other major toolkit --- they all support CSS-based querying and DOM manipulation/traversal. If you application is a little bit more than that, you have to think hard about an infrastructure: how to componentize your code, how to manage dependencies, how to distribute them, and so on. Dojo is frequently used in medium-to-complex applications. That's why it has a concept of modules, namespaces, a dynamic loader, special support for CDNs, a build system, good OOP support out of the box, and a lot of other helpers in Dojo/Dijit/DojoX, which can be loaded and used on demand. You don't pay for what you don't use. Speaking about extra modules. Dijit and DojoX are more than repositories of random "plugins". They don't conflict with each other and work together rather well unlike majority of plugins for other toolkits. I learned it first hand. :-(
7. Les Szklanny said:
I appreciate the robust Dojo architecture, performance and scalability, and I hope Dojo 1.5 will concentrate on improving widget look and feel.
This IMO is an area where Dojo widgets (particularly the grid and tree grid) could be improved in a major way.
For comparison sake, take a look at his jQuery application:
I think it looks pretty good out of the box. You have a border container widget, a tree in the left pane (actually, it's a tree grid reduced to a tree). Click on "New in version 3.5" and then " and then click "TreeGrid real world example". I think the jQuery Tree Grid looks pretty good. It's themeable. It has an option for paging and virtual scrolling.
My key problem with jQuery though is that it favors functional style of programming as opposed to object-oriented as in Dojo.
8. Mike Wilcox said:
I think the Enhanced DataGrid with the new Lucid theme (name pending) is looking pretty good:
(it's not built so may be slow to load and give you a slow script warning)
Dojo also has a Tree Grid, but I'd guess you knew that:
The Dojo Grid has a *lot* of features and has corporate backing from at least SitePen and IBM. The Dojo Grid is also a11y - which means that it supports keyboard shortcuts (arrow, tab, etc). The JQuery one doesn't. Dojo's is also themeable and extendable.
I do like the toolbar in the JQuery grid though.