Dojo Vs. ExtJS/Sencha

I’ve used both Dojo and ExtJS/Sencha extensively in my professional work.  I’ve found they both have their uses.  Find my reasons for choosing one toolkit over the other below.

Strengths:

Dojo 

  • Beautiful class system for easy OO imitation in javascript.
  • Once mastered the layout system for widgets works in almost all situations I’ve encountered
  • Works well in a multi-developer environment where all developers are Dojo centric
  • Very liberal licensing

Sencha

  • Widgets are bad ass.  For instant eye candy this is the the framework of choice
  • A large set of user developer extensions that are distributed with the code as well as easily added
  • An intuitive process for adding extras to widgets (toolbars, button bars, etc)
  • The documentation is excellent.  Example abound and the docs are linked directly to the source so seeing what exactly is going on is easy to do.

Weaknesses:

Dojo 

  • A high price for initial ramp up.
  • The widget lifecycle is a tricky beast that takes a lot of time living with it in order to fully grasp a lot of the gotchas associated with developing your own widgets
  • A weak set of widgets/themes out of the box
  • The documentation sucks and google is always out of sync with the latest.  They made an effort by offering tutorials with dojo 1.6 that is by far better then any available previously, but it’s still lacking.
  • The code documentation style is outdated and doesn’t produce easily navigable docs

Sencha

  • When venturing outside the supplied functionality is cumbersome .
  • The use and encouragement of anonymous functions is rampant in the code.  It results in code that isn’t overly reusable or testable.
  • The structure of widgets makes it difficult to following standards software patterns.  Splitting out into an MVC pattern doesn’t really follow what is done in the general code base.
  • Restrictive licensing.  Basically if you’re going to sell a product containing ExtJS code you will need to buy the license.

The Bottom line:

Times to use Dojo: 

  • Teams of more then three people working on the codebase.
  • Application will contain a lot of non-widget code

 

Times to use Sencha:

  • Small teams
  • Looking for a quick path to a beautiful application>

This entry was posted in Dojo, Javascript, Sencha. Bookmark the permalink.

3 Responses to Dojo Vs. ExtJS/Sencha

  1. Amit says:

    Could you please shed some light on license as there are many discussions on net which talks about quite restrictive ExtJs license?

    • gordonk66 says:

      Good point. I know there are some issues with the ExtJs license. It boils down to if you’re going to sell a product that contains ExtJS code you’ll need a license. I totally forgot about that issue b/c most of my Ext work was done professionally so I never had to worry much about the license side of things.

  2. Johan van de Merwe says:

    The Extjs license system is not very clear on their website. I bought Sencha complete (extjs, designer and touch with standard support). That cost me 895 usd. To have the updates commercially available after 1 year I have to extend my support, which is another 495 Usd. Sencha is beautiful, but it could also end up to be a very expensive framework for small development campanies. If conditions for existing customers are not clear on a website, then it could easily beome a price trap. Lik an insurance salesman always finds a way to make you pay more. I love the Sencha products, but I hate their pricing and clarity.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>