Sunday, July 15, 2007

What Is Dojo?

Dojo is an Open Source JavaScript UI toolkit. It makes writing JavaScript easier, building great interfaces faster, and deploying dynamic UIs at scale much easier. The foundation of Dojo is "Dojo Base", a single tiny library which contains Ajax, event handling, effects, blazing fast CSS queries, language utilities, and a lot more. On top of this Base, the rest of Dojo Core adds high-quality facilities for Drag and Drop, extended forms of Ajax and I/O, JSON-RPC, internationalization, and back-button handling.

Layered on Dojo Core is a widget system, Dijit, which makes developing and reusing interface components a snap. If you can write HTML and CSS, Dijit allows you to quickly build reusable client-side components. Similarly, Dojo can use extended attributes on HTML in order to declare where widgets should be placed and how to configure them. Placing a graphical date picker in a page is as easy as adding an attribute to an <input> element. By upgrading standard HTML instead of inventing a new markup language, Dojo makes building degradeable user interfaces easy. It's "progressive enchancement" in the extreme, and it allows you to build UIs that look good, work well, and run fast. Dojo has also been built with great care. From the unit test harness all the way to the data binding system, to its portable 2D drawing API, Dojo has been engineered as a coherent system which means that the Dojo Team's single-minded attention to consistency and quality ensures your applications will not only look good but will stand the test of time. Dojo features built-in internationalization and localization support, full accessibility hinting in all Dijit widgets, infrastructure to support coherent keyboard event handling, and the ability to theme all Dijit components using only CSS.

The Core and Dijit projects are fanatical about quality and consistency and the bar for new code to be accepted in them is very high. As a result, new "edge of the web" features are being developed in the DojoX namespace. DojoX features portable 2D drawing APIs which paper over the differences between the browsers as well as Comet support (among other amazing projects). DojoX provides a sandbox where these new systems can evolve without always being constrained by the high standards of testing, documentation, and support to which Core and Dijit are held. Individual projects in DojoX contain a README file so that you can know what state they're in. Many are at or near the quality, testing, and documentation level required for inclusion in Core already!

Source: The Dojo Book

1 comment:

Anonymous said...

good introduction to dojo!

A

Popular Posts (Last 30 days)

This is a personal blog and I do not speak for my employer.