Besides Dojo you will find Dijit and DojoX. Dijit is a powerful widget engine providing Skinnable, template-driven widgets with accessibility and localization built right in. From accordions to tabs you will find the gui building blocks you need. With DojoX you can visualize your data with grids and charts etc. Take your apps offline. Cross-browser vector drawing. And a lot more. Dojo and its companions certainly make up a feature rich framework for modern web development and should be considered before you start your next big development project.
The Dojo website is really great. You can find most of what you need there. Another great resource is sitepen.com where you can find guides and good tutorials.
- First you need to download Dojo or find a way to access the library online.
Download dojo.js and serve it as part of your web application with a simple <SCRIPT> tag, or download nothing and simply pull Dojo from a CDN near you:
- Dojo QuickStart Guide – Learn the basics.
- Dojo Feature Explorer
Not sure if Dojo can do what you need? This is the place to look! Wow some of the things here are really cool.
The Dojo Team have published some examples of what you can achieve with Dojo
Spotlight on Dojo tells you about the people, companies, and projects that use the Dojo Toolkit and other Dojo Foundation efforts. There are some really amazing showcases of uses of Dojo. The applications being build using Dojo is really complex and I think it demonstrates the power of the framework. Sojo makes it possible to create web applications that look and feel almost as desktop applications.
This is where you get help from the community
- API Viewer
This is a great tool to get an overview of the library. It isn’t huge but still tools like this makes our life so much easier.
- Foundation, License, and Contributor License Agreements
Here you can se some of the major companies using and supporting Dojo. You can also get an overview of the really interesting open source projects relying on Dojo.
- Companies and organisations using Dojo: IBM, Apple store, Nasa, Google, SUN and more
Getting started tutorials
Great tutorial for getting started, installing, configuring etc.
This is as simple as it gets but it is a very good tutorial to start with. There are four good intro tuts at this site that you should check out if you’re new to Dojo.
“Does Dojo have an Ajax method that updates a div?”. The answer is that there’s no Dojo-approved way of doing something like this. Updating a div is such an easy process, that implementing a de-facto solution is not only extra code, but you also hit a wall as soon as you want to do “something more”.
Make great looking rounded corners on your elements using only a single image.
This is a great application and it illustrated the power of Dojo quite well. The demo is broken into clearly separated roles of content and presentation. The Markup is valid, with two external <script> tags are loading progressive enhancements to an otherwise plain list of anchors and thumbnails. There is a single CSS file, though as can be seen in the source file, it is being concatenated from a couple different .css files as part of the build process. Demo
Tutorial showing Stocker, which demonstrates some of the more advanced capabilities of Dojo, including the newly released DataChart, the DataGrid, Data Store, Comet, Persevere, and BorderContainer.
DataChart. Its primary purpose is to make connecting a chart to a Data Store a simple process. There are also other benefits with DataChart: less parameters are needed to create a basic chart, and more defaults and convenience methods get you up and running quickly with Dojox Charting.
Most anyone who’s looked at the feature list knows that one of Dojo’s core features is a drag and drop framework. What’s not immediately obvious is that Dojo actually has two drag and drop APIs. The first, dojo.dnd, is designed to manage the process of dragging items between two or more containers, including multiple selection, item acceptance filtering on drop targets, and other behavioral tweaks. The second API, dojo.dnd.move, is a bit lower-level in scope; it’s designed to manage the process of moving single objects around, without the concept of attaching items to containers. Both of these are very useful features to have at your disposal. In this article, we’ll cover dojo.dnd.
As previously announced by Dylan Schiemann, SitePen has released the Dojo Extensions for Adobe AIR (dAIR) project that help make it simple to use Dojo into an AIR application. These extensions also simplify some of the more difficult AIR APIs by wrapping them and adding some syntactic sugar.
How many times have you had trouble uploading files to your favorite CMS? How many times did a client say “I am not happy with uploading one file at a time”? And last but not least, how many times did you implement a third party plugin/software/piece of magic to implement efficient file uploading?
This tutorial shows you how to upgrade those plain vanilla pages to make getting around a little faster and along the way introduce you to some of the most useful bits of Dojo, and practical techniques for working with them. We’ll touch on: dojo.query, dojo.data, the dojo parser and dijit (specifically the FilteringSelect widget.)
Dijit has a tremendous wealth of high quality and feature-rich form elements providing key functionality including validation, time calculation, spinner controls, calendars, and much more. Furthermore, Dijit gives you a set of themes to choose from: Tundra, Soria, Noir, and Nihilo.
This post will show you how to set up your form with the proper style sheets, and do some minimalist CSS targeting to adjust each form so they’ll all be the proper size. The result will be a style sheet base that you can use and modify to create custom Dijit forms.
Custom events and Dom Events are all well and good for method-to-method functionality. It is a really common use case to connect some event happening to call another function, but when you get into really ambiguous, large applications, you need some mechanism to just say “hey, something has happened, act accordingly” … dojo.publish and dojo.subscribe provide just that mechanism.
Everybody likes rounded buttons, rounded page elements and last but not least, rounded tabs. Fortunately dijit comes with great theming possibilities, so I will show you how you can make your own fancy rounded tabs using a simple image sprite and a couple of CSS classes.
One of the cool things about Dojo is the dojo.xhrGet() function. It’s powerful because it makes transparent the browser dependent transports that make AJAX possible. In this cookie, we’re going to explore a simple use case in Dojo to separate content from the presentation of a page.
“Creating a Dojo Calendar,” from eKrantz.com. Discusses the goals to be accomplished, the files needed and how to download them, calendar entries, time zones, changing a date for a calendar enrty, and adding a new calendar entry.
A series of three tutorials including: “Introducing the Dojo Tree Widget,” discusses installing Dojo, trying out the Dojo tree widget, adding a context menu, making the context menu work, explanation of the code, building the menu programmatically and adding drag-and-drop capabilities; “Adding Dojo Tree Nodes with AJAX,” discusses building a tree programmatically, adding child tree nodes with AJAX, and dynamically adding children; and “Customizing the Dojo Tree,” discusses changing icons, custom icons for HTML tree, custom icons for the programmatic tree, properties and CSS.