Dojo is an open source toolkit that helps you write robust and efficient JavaScript code. JavaScript is a language that runs within the Web browser, and there are various flavors of Web browser that interpret the JavaScript in slightly different ways. Toolkits such as Dojo, YUI, Prototype, and many others are designed to abstract away the browser idiosyncrasies so that you don't have to learn them all and handle them in your code.
There are often several ways to code the same thing using JavaScript. Toolkits like Dojo provide functions you can use to do things in easier or more efficient ways. Using libraries from a toolkit can reduce the lines of code you write and make your JavaScript applications quicker and more stable.
The ESRI developers who created the ArcGIS JavaScript API used Dojo to simplify their development process and to ensure that the applications you build behave the same in different browsers. For example, the map zoom and panning animations use Dojo, as does the graphics layer.
Furthermore, the zoom level slider and info windows that you see in your JavaScript API maps are Dojo widgets (dijits). The slider dijit is provided with Dojo, and the info window is a custom dijit created by ESRI for the ArcGIS JavaScript API.
The amount of Dojo you use when you work with the ArcGIS JavaScript API is up to you, but at a minimum you'll need to use several common functions:
dojo.require("esri.map");
For the JavaScript API, the most commonly imported resources are:
Resource | Use for: |
---|---|
esri.map | Map, geometry, graphics, and symbols |
esri.layers.agsdynamic | ArcGISDynamicMapServiceLayer |
esri.layers.agstiled | ArcGISTiledMapServiceLayer |
esri.tasks.find | Find task |
esri.tasks.geometry | Geometry task |
esri.tasks.gp | Geoprocessing task |
esri.tasks.identify | Identify task |
esri.tasks.locator | Locator task |
esri.tasks.query | Query task |
esri.toolbars.draw | Draw |
esri.toolbars.navigation | Navigation |
dojo.addOnLoad(init);
dojo.connect(myMap,"onLoad", myLoadHandler);
dojo.byId("myInputField").value = myMap.id;
When writing your ArcGIS JavaScript applications, you can take advantage of the full Dojo toolkit, which includes buttons, grids, tree views, charts, and other widgets. The toolkit is divided into three parts:
Core - Essential functions like those listed above Dijit - Themeable widgets such as trees, menus, and buttons DojoX- Extension projects in various stages of development, such as graphics, grids, and charts