Dojo jQuery comparision Dojo jQuery comparision

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?

http://www.indeed.com/jobtrends?q=jsf%2C+gwt%2C+jquery%2C+yui%2C+dojo%2C+wicket&l= 

 

 1. Mike Wilcox said: 

 This chart doesn't tell the whole story. Dojo is a very client-side heavy toolkit and most jobs for a Dojo developer are going to be for a very client-side-centric position. JQuery on a job posting the other hand may often be a good-to-know thing for Markup guys, Designers, Java guys, .Net guys, etc. It's apples and oranges, and not how I would choose a library. That's not to dispute JQuery's popularity - it is more so than Dojo, and I personally don't think that Dojo can reach the same kind of audience that JQuery can. They are distinct. You're able to use JQuery without knowing JavaScript. Same can't really be said for Dojo. 

 

2. Ben Hockey said:

 to reiterate what mike has said. dojo and jquery overlap in many ways but their strengths cater to different audiences/needs. it depends on what you're need is as to which one would be best for you. jquery undoubtedly is used on more pages than dojo. however, I would rather build a 'heavy-client' application with dojo since it at least includes a packaging system. if you are trying to use javascript to add some "dynamics" to a thin client then jquery might be good for you. if you're trying to use javascript to build an application based heavily on the client then dojo would be more appropriate imo. I thoroughly encourage you to use dojo from a technical standpoint and dojo is also very suitable for adding some "dynamics" but finding proficient dojo developers can be difficult - try advertising for a dojo developer and see how many suitable applicants you can get... and if you do get some, let me know - the project I'm working on is hiring :) in fact, just go back to indeed.com and search for dojo. the positions we are hiring for in warren, nj will probably be in the first few listed there. if you want to add some charts and graphs to the discussion then you could always throw in some from taskspeed. http://dante.dojotoolkit.org/taskspeed/report/charts.html dojo clearly outperforms jquery in these tests. keep in mind that these tests are DOM based tests which are really testing the major portion of where dojo and jquery overlap but the complete capability of each toolkit is not tested/demonstrated. the tests are not enough to solely base your decision on unless you only need a toolkit to help you work with the DOM. jquery certainly has market share but that does not mean that it is always the most appropriate for your needs. another example of market share not being the most suitable can be seen by considering the reason all these toolkits exist - the browser. the one with the market share is not always the most appropriate browser for your needs ;)  

 

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:

The way I explain it to people is JQuery is for adding some interaction to a web site and is geared towards a designer who knows a little bit of Javascript where as dojo is a toolkit that you choose when you are going to replace a mission critical enterprise application, like a day trader front end. They are different ends of the spectrum and I try to highlighting this when the "which toolkit" question comes up. If you look at any of the comparison charts JQuery is always the top of the trend while Dojo is always a distant second but second above all of the other toolkits this is an important distinction because I believe given their targets it lends credence to the fact that Dojo is the solution for robust RIA applications. In my opinion the real battle is between Dojo, YUI and now Google Closure as these are competing in the same space and as of now Dojo is the front runner.

 

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: 

http://trirand.com/blog/jqgrid/jqgrid.html 

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:

http://www-01.ibm.com/software/ucd/UE/dojox/grid/tests/enhanced/test_enhanced_grid_lucid.html

(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:

http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/test_treegrid.html 

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.

Print