Skip to main content

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

Comments

Anonymous said…
good introduction to dojo!

Popular posts from this blog

Installing Bugzilla on Windows

Bugzilla is the Bugs/Issues Tracking Tool from The Mozilla Organization. Version 2.18 is the latest stable release. There are couple of resources which guide a User installing Bugzilla on a Unix/linux machine. However, this entry describes a way to install Bugzilla on a Windows machine (W2K to be precise). This document guides you step by step through the installation process. First, get Administrative access to the machine on which you want to install Bugzilla. It should be a simple step. Usually, Users are given Administrative rights on Windows machine. However, if you dont have, contact your Administrator. Get Bugzilla Then download the Bugzilla from http://bugzilla.org/download.html . There are two ways of gettng it - through CVS or direct downloading the tar file. Remember there are no Zip files. However, any zip utility should be able to untar the Bugzilla. I download the tar file and untarred it using WinZip. I placed the untarred 'bugzilla' directory in my c: drive. So...

JSP Performance Tips

Here are a few tips to improve JSP performance that I have been using. If you have your own listing of the tips, plz share. Disable JSP auto reloading feature. Use thread pool for your JSP engine and define the size of thread pool as per application requirement. Use jspInit() method to cache static data Initialize the 'out' object (implicit object) with proper size in the page directive. Set the content length Give 'false' value to the session in the page directive to avoid session object creation. Flush the data partly Use StringBuffer rather than using + operator when you concatenate multiple strings Use include directive instead of include action when you want to include the child page content in the translation phase. Avoid giving unnecessary scope in the 'useBean' action. Use print() method rather than println() method Use ServletOutputStream instead of JSPWriter to send binary data Minimize code in the synchronized block Do not use custom tags if you do no...

How old are the daughters?

Two MIT math graduates bump into each other at Fairway on the upper west side. They hadn't seen each other in over 20 years. The first grad says to the second: "how have you been?" Second: "Great! I got married and I have three daughters now" First: "Really? how old are they?" Second: "Well, the product of their ages is 72, and the sum of their ages is the same as the number on that building over there.." First: "Right, ok.. oh wait.. hmmmm.., I still don't know" second: "Oh sorry, the oldest one just started to play the piano" First: "Wonderful! my oldest is the same age!" Problem: How old are the daughters?