Hot skills: Dojo encourages Ajax innovation


Hot skills: Dojo encourages Ajax innovation

What is it?

In April 2006, a reviewer provided a round-up of 50 different Ajax frameworks and toolsets - and the number has certainly increased since then. They include commercial start-ups, and plenty of open-source efforts, many with small but devoted followings. For Microsoft users, the choice is likely to be Ajax. Other developers may be looking for the freedom of open source combined with the sponsorship of major technology providers. For those who want access to a comprehensive and proven Javascript library, Dojo combines a large open source community with the backing of IBM and Sun, among others.

Dojo is a modular Javascript toolkit, which brings together a number of contributed code bases to provide a unified, full stack with a very small core and a large number of optional modules. IBM has now adopted Dojo as its internal standard for Ajax, and includes it with the WebSphere Application Server Feature Pack for Web 2.0.

Where did it originate?

Dojo was begun in 2004 by Alex Russell of data integration specialist Informatica. The Dojo community took off rapidly. In 2006, IBM made a large code contribution, including internationalisation, accessibility for the disabled, extensions to the data model, and some elements of its then-internal Ajax toolkit. Sun also weighed in, contributing Ajax widgets and help with documentation, and the services of its own Ajax Architect.

Other Dojo Foundation members and Dojo users include AOL and BEA Systems.

What's it for?

Like other such toolkits, Dojo is intended to enable developers to build dynamic pages and applications quickly and easily by assembling functionality from libraries, which can then be tweaked or extended with custom-written code.

The Dojo Core includes a package that simplifies the XMLHttpRequest mechanism, which transfers data to and from the server asynchronously, and which is key to the greater responsiveness of Ajax applications. Dojo favours Javascript Object Notation (JSON), a lightweight data interchange standard, over XML, claiming it is often much faster.  

The Dojo widget library, Dijit, also provides a template-driven architecture for building widgets. Dojo Storage enables persistent storage of data on the client side.

Developers can use the (open-source) Aptana IDE for Ajax, or the (paid-for) Komodo IDE. IBM's involvement ensures Dojo is supported by the Eclipse Ajax Toolkit Framework.

What makes it special?

Although there is a great deal of best-practice advice and support for Dojo developers, innovation is encouraged. The Dojo Style Guide, put together collectively by Dojo's core developers, carries the rider "any violation to this guide is allowed if it enhances readability".

How difficult is it to master?

The Dojo site includes a quick-start tutorial for newcomers called "Dojo for the Attention-Impaired". Dojo has been designed to be quick and easy to use. The sheer scale of it means that learning to use it to its full potential will take time - but it can be learned on the job.

What systems does it run on?

Dojo supports Internet Explorer, Safari, Firefox and Opera Google Gears, which enables applications to work offline as well as on and the Open Ajax Alliance Hub, to ensure interoperability with Ajax applications built with other toolkits.

Rates of pay

Ajax developers earn from £25,000 to £45,000.


A quick start guide is available online. There is plenty of Dojo material on IBM's developerWorks. Sun's resources for Ajax and Dojo are spread across several portals.

Email Alerts

Register now to receive IT-related news, guides and more, delivered to your inbox.
By submitting your personal information, you agree to receive emails regarding relevant products and special offers from TechTarget and its partners. You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.

This was first published in March 2008


COMMENTS powered by Disqus  //  Commenting policy