Monday, November 05, 2007

Why Dojo 1.0 Matters - Ajax Now Enterprise-Ready

You can't swing a dead cat at a Web 2.0 conference these days without hitting a dozen Rich Internet Application (RIA) toolkits. The Olliance Group recently identified 58 RIA products, many of them either proprietary or incompatible with the other 57 approaches.

Just to set the stage, here is my personal definition for a Rich Internet Application:

"Rich Internet Applications match the responsiveness of traditional desktop apps by minimizing web page refreshes. RIA taps into the collective power of the Internet to supply widgets and services for building web clients, like rss feeds, Google maps and Youtube. The goal of RIA is not merely to emulate a PC GUI in a browser (aka the Silverlight sell-out), but to deliver browser-based clients which far outperform PC GUIs in speed and functionality."

Ajax* is a particular architecture for building RIAs that is favored by open source libraries such as Dojo, Jquery, Ext and dozens of others. The perpetual flamewars between adherents of the various Ajax toolkits is a huge gift for the proprietary RIA products like Microsoft Silverlight and Adobe Flex.

Many Ajax toolkits seem more focused on posting esoteric animated graphics widgets to the Ajaxian web site than they are on meeting mundane but critical enterprise needs. To be fair, whizzy graphics are an important element of RIA's appeal. However there are more fundamental concerns to address before RIA can be considered enterprise-ready.

Into this maelstrom of splintered efforts comes the Dojo 1.0 release. Dojo has been in development for 3 years, making it one of the more mature toolkits available. Dojo also has the backing of IBM, BEA and Sun and will ship standard with their Java servers.

Previous versions of Dojo were criticized as being too big and too slow. Dojo 1.0 attempts to address those issues. Even more importantly, Dojo has also addressed a number of the hard issues required to gain enterprise adoption:
  1. Internationalization and accessibility: Dojo supports localization, keyboard navigation and vision-impaired users, making it appropriate for both global businesses and government applications.

  2. Excellent data handling: the Dojo grid (plug: built by ActiveGrid's own Scott Miles and Steve Orvell) easily handles 100,000+ rows with dynamic loading and complex rows, making it suitable for building the most data-intensive web clients.

  3. Interoperability: Dojo supports the OpenAjax hub, making it possible for an enterprise to integrate and support web applications built with different Ajax toolkits.

  4. Corporate look and feel: Dojo supports the ability to define a corporate look and feel or skin that can be used across a set of applications.
Although choice in general is good, no CIO wants to be stuck supporting a dozen squabbling Ajax toolkits a year from now. Dojo 1.0 may not be the ultimate winner, but it sets clear expectations for what an enterprise-ready Ajax toolkit should be able to do.

*Ajax is an acronym for Asynchronous Javascript And XML (only the acronym Self-Contained Underwater Breathing Aparatus can approach Ajax in shear implausibility).


Peter Christy said...


Why are you so negative on Silverlight? /

adaniels said...

The syntax of Ajax libs like prototype and ext are differend, but still quite similar. If you look at frameworks as Adobe Flex, OpenLaszlo, BackBase and (our own) Javeline PlatForm and new techniques like xforms, you see that exact tag, attribute and function names may differ, but the syntax is much the same. Now if we look at Dojo, we see something completely different. Instead of using custom XML, stuff is hacked into HTML.

If a company would choose BackBase, they could switch to Flex or Javeline, without the gathered knowledge being wasted.


Unknown said...

CIOs are not going to adopt an amorphous blob of technologies as a staudard. Right now, Ajax is more of a loose concept than anything else. One of these libraries needs to break free from the pack to be adopted by the enterprise. For those purposes, Dojo is as good as anything else out there, regardless of its elegance or lack thereof.

Christopher Keene said...

@Peter - I think Silverlight is a great product for Microsoft and a terrible product for everyone else. The Silverlight vision is that Web 2.0 looks just like Windows 98. By defining Rich Internet Apps as nothing more than client/server redux, Microsoft is once again trying to hold back the tide. The Silverlight technology is fine, not to mention tremendously useful for existing Visual Studio developers. The market vision behind the technology is malevolent and should be exposed for the humbug it is!

Anonymous said...

Having used all of them... Dojo, flex, moo, backbase, jquery, and extjs.

Ext has won my developer heart. I won't even look at the others anymore.