Search code examples
jqueryzend-frameworkdojo

Does jquery replace the need for dojo?


I am starting a new project using the PHP Zend framework.

Now that jquery is fairly mature, is dojo no longer needed?

I do not mean for this to be an opinion question. A valid answer could be that they both still are viable.

Thanks!


Solution

  • Depends on your needs. If all you need is XHR and DOM manipulation, you can probably pick any well-known library out there. But if you're looking for stuff beyond that, Dojo gives it to you. jQuery...doesn't, really (at least not without looking around for plugins, and then you're getting into YMMV territory).

    Whenever anyone asks something like this I always point them to Rebecca Murphey's excellent blog post pointing out what kinds of things jQuery doesn't really consider:

    http://rmurphey.com/blog/2010/08/09/on-jquery-large-applications/

    Some examples of things Dojo gives you that jQuery doesn't OOTB:

    • Modularization and dependency management system
      • RequireJS is popular for this among jQuery users; interestingly, it's now a Dojo Foundation project, and its module format will also be usable in Dojo 1.6.
    • Inheritance framework (dojo.declare)
    • Fully skinnable/extensible widgets with WAI-ARIA support (dijit, with more in dojox)
    • Consistent data APIs (used by more data-intensive widgets such as Select, ComboBox, FilteringSelect, and dojox.grid)
    • Pub/sub framework for communicating across an application without necessarily directly binding together unrelated components
    • Hash support (dojo.hash since 1.4)
    • Build script for rolling your own custom build of Dojo with layers containing all your app's dependencies consolidated into one script.