Dojo 1.5: Ready to power your web app

By on July 22, 2010 9:00 am

Dojo Toolkit 1.5 is now available for immediate download. Dojo is a JavaScript toolkit that is lean enough for use on a simple blog, yet powerful enough to scale to solve the most advanced web application engineering challenges, allowing you to use just the features and flexibility needed for your application. The 11th major Dojo release, version 1.5 offers many important improvements and enhancements and remains as IP-safe, freely-licensed, and free to use as the first release over five years ago.

Substantial user interface improvements

The new version of Dojo offers substantial user interface improvements in the form of the beautiful Claro theme. Claro delivers a modern and engaging visual style for rich internet applications with Dojo’s Dijit library, with the visual enhancements of transparent gradient background images, drop shadows, and appropriate CSS animations (on Webkit and Mozilla-based browsers). It delivers a ‘fit and finish’ that surpasses previous themes and releases, and significantly improves ease of customizing the theme CSS, so you can easily create your own theme by styling elements such as padding and color, without needing to design new background images. All of this while being fully accessible and internationalizable across a growing collection of user interface widgets! Learn more in our Dive into Dijit article.

The portal layout mechanism found in sites such as the personalized Orange home page is provided with Dojo, making it easy to create user-customizable application interfaces. Dojo’s very powerful native vector graphics, charting, and drawing components have received many improvements, including new themes, gradients, and experimental support for the SVGWeb plugin in addition to the existing support for SVG, VML, Canvas, Flash, and Silverlight. This guarantees that your graphics will work natively when possible, but will work everywhere with the simple dojox.gfx APIs.

Stable, backwards and forwards compatible Core

The core Dojo libraries are remarkably stable, making it very easy to upgrade your application from earlier versions of Dojo while receiving a number of improvements to make development easier. dojo.Stateful was added, and dojo.Deferred is improved through an underlying Promises-based API. The core libraries provide everything you need for simple and advanced web sites and apps.


Dojo supports many HTML5 features, and has supported many capabilities before they were supported in any browser such as local storage. The Dojo approach is to wrap native support where possible, fixing any glitches, adding API capabilities or simplifications, and offering compatible solutions for older browsers. Whether it’s improved browser history, placeholder hint text for all TextBox-based widgets, a new extension to support the CSS transform and transform-origin properties, local storage, rich-text editing, multi-file uploading, or gfx for Canvas/SVG support, we have you covered now, with much more to come in future releases. Check out the presentation and Gorillas examples for a glimpse at what’s possible!

Dojo Mobile

The mobile app space is evolving far too rapidly for the API stability promised by Dojo’s core libraries, so we have many initiatives underway to solve your mobile app development challenges now, and converge on more stable solutions soon. We strive to address challenges for both mobile web apps, and mobile installed apps that embed a web browser. A number of new Dojo Toolkit and Dojo Foundation initiatives are underway:

Browser Support

Dojo supports a wide variety of modern browsers. The complete list of officially supported and tested browsers: Chrome 5, Firefox 3.5 and 3.6; Internet Explorer 6, 7, and 8; Opera 10.6 (Dojo Core only); Safari 4.1 and 5. Other browser versions may work fine with Dojo even if they are not officially supported by the project.

Performance and Stability

Not only is Dojo consistently rated among the best performing Ajax toolkits, we also provide solid tools for scaling and growing your application. It’s easy to run into performance problems with any development tool, but the community and various vendors offer solutions to diagnose and solve all of your performance obstacles.


It’s always easier to get started when you start with something you already know. Whether you use Zend Framework, Spring, Persevere, Node, Narwhal, cometD-Jetty, DWR, Compuware Uniface, Ruby on Rails, Django, WebSphere, Apache, IIS, or any other HTTP-compliant server-side environment, there’s a simple drop in integration solution to get you up and running quickly. Dojo also offers easy integration with AIR 1.5 and 2.0, Appcelerator Titanium, PhoneGap, and integration hooks with various IDEs and developer tools including Aptana Studio, Komodo, Eclipse, and more.


We’re in the process of collating the 150 best Dojo 1.5.0 demos. Some of the initial demos were linked to from within this post, and other community plug-in efforts like the MFU project offers an alternative to the dojox.form.FileUploader widget, or the Dojo port of mustache.js as an alternative to dojox.dtl.

Documentation, Support and Assistance

The Dojo web site has a plethora of documentation, and the thriving community offers assistance for everything that’s not already covered. For professional support and assistance, companies like SitePen are available to help you get the most out of Dojo and the open web!

Download Dojo 1.5 today and let us know what you think, and tell us about the great apps you’re building with Dojo!

A Dojo Foundation project

The Dojo Toolkit is part of the Dojo Foundation, the open home for the open web. Beyond the Dojo Toolkit, the foundation has welcomed 3 new projects recently: Zazl, AnimeJ, and wink. cometD-Jetty recently announced a 2.0 release, and Persevere 2.0 beta is due this summer.


  • Congrats on the release! I notice CommonJS mentioned in a growing number of posts, and specifically in the upgraded dojo.Deferred — that’s great. Is there a long-term plan to allow running dojo in commonjs environments such as nodejs and narwhal, without the use of a wrapper or using a special branch of dojo?

  • Pingback: Ajaxian » Dojo 1.5 is Out and it’s Feature Packed!()

  • Awesome. Does this look at addressing Dijit’s unnecessary loading problem where it loads say, two dozen modules when only one is asked for and required?

    I know the issue was solved with Dojo Core some time ago, but still seems to be an issue for Dijit.

  • Pingback: Version 1.5 of Dojo Toolkit is out « Rolf Kremer()

  • i think that base\core dojo is impressive and cool! well done guys.
    however, i think that most OOB widgets are not suitable for enterprise application.
    They are mostly poorly written and the API needs an immidiate revise if the framework wants to support aggressive server side pagination and sorting.

    for example, you can’t even get the total number of records in the server since there is no public API in the dojo store, so bascially one cannot build pagination controls without assuming internal store structure. in addition the whole could have been built in a more structfull way.

    that being said, i find that building widget in DOJO is powerfull and the results we are getting are amazingly cool. again, as long as i inherit from dijit._Widget and dijit._Templated only.


  • I too would like to know about the long-term plans for Dojo in a CommonJS world

  • @Nathan and @George

    RequireJS is basically a fork of Dojo’s module and build system, and uses CommonJS modules. I would expect that Dojo 2.0 would switch to using this approach as it makes sense.

    Persevere 2.0 has taken some Dojo features and made them into CommonJS modules, and obviously a lot of Persevere work has inspired the work inside Dojo.

    As far as running Dojo on the server, some parts make sense, but many do not. Then there are nice things we can do like decide if widget parsing happens server-side or client-side, so a page could be rendered with widgets in their default state without having to re-parse the page, etc.

    So, I think it’s too soon to tell how it will all come together, but we’re obviously moving towards a world where things in Dojo follow standards and conventions as they become viable, whether that is CommonJS or HTML5, etc.

    @Doron there’s a lot of work being done on for 1.6, but I do think it depends which store you pick. If you send me a list of issues and how you want them to work, I’ll add them to the roadmap for 1.6.

  • Mark

    Dojo 1.5 demos do not work. I downloaded the demos and tried to run them with no success, they all fail due to bad paths. Anyone else had this problem?

  • @Mark: It’s generally easier if you run them from a local web server rather than the file system. Have you followed the steps from the Dojo QuickStart guide at ?

  • Mark

    That’s true I haven’t followed any steps, but it’s simply html and js files, what do I need a web server for?

  • @Mark: Dojo includes a modules and packages system that loads additional JS resources via XHR in the default case. Browsers have become more stringent with their security models for local file system access. If you use the x-domain version of Dojo locally, it should work without a web server, as this will include scripts by dynamically writing script tags to the DOM. In production, you would create a “build” so you wouldn’t load so many files. We take this approach so you can start by working with the source code, but get the performance benefits of a build step.

  • Mark

    Thanks Dylan, I’ll give that a try.

  • Leonardo Lanese

    Hi there, congratulation about the job!. We are about to migrate from ‘1.4.3’ to ‘1.5’ but we have a doubt:

    Can you tell us if the framework is faster that latest versions and if the size is lower?. Cheers, Leo :)

  • @Leonardo: it’s always possible to make a Dojo app faster or slower, and smaller or larger, as it true with any web app. The upgrade from 1.4.3 to 1.5 should have a few performance optimizations in place, but if your bigger problem is overall app performance, there are some great best practices documents out there, and we also offer professional services to assist with application performance tuning.