18 things to look forward to in Dojo 1.8

By on June 15, 2012 1:03 pm

After many months of work, Dojo 1.8 Beta is almost here. We expect beta to be ready for use on June 22, 2012, with the final 1.8 release due 4-6 weeks later!

dojo/request

We’re very excited about this release for many reasons. For the new features, I’m most excited about the work led by Bryan Forbes with dojo/request. This is the third major iteration of how Dojo works with Ajax. The first ever Dojo release, dojo.io.bind, was completed at SXSW in 2005, prior to even our 0.1 release. The second major release, dojo.xhr, was an excellent and performant rethink around Ajax. A lot has changed over the past few years, with the introduction of XHR 2, with our support for Dojo inside Node.js, and a strong desire to create a solid, simple, clean, and highly flexible API for the feature that brought JavaScript into the forefront of web application development in 2004. In 1.8, you can still use dojo.xhr (or dojo/_base/xhr with AMD), as it wraps dojo/request. We’ll have an in-depth post about dojo/request next week.

Without further ado, here are 18 things to look forward to in Dojo 1.8:

New Features:

1.  dojo/request, making Ajax far more flexible and powerful, and works inside Node.js
2.  dojo/router, a new component for routing to different client-side “pages”
3.  dojox/Calendar, a feature rich calendar widget
4.  dojox/dgauges, a framework to easily create your own gauges
5.  dojox/treemap, a data visualization widget
6.  dojox/mobile, 28 new mobile widgets including audio, video, grid layout, tree view, and more

Significant Improvements:

7.  Automatic and declarative require, making it easier to work with AMD for features defined in markup
8.  dojo/promise was rewritten, making promises and deferreds easier to use and track
9.  dojox/mvc was rewritten, along with a new ToDo demo application
10.  The API documentation and viewer, and Dojo reference guide are vastly improved for 1.8. For many users, this will be the most welcome change with Dojo 1.8.
11.  DnD on mobile platforms
12.  Canvas and SVG specific enhancements to GFX, adding significant capabilities

Noteworthy Enhancements:

13.  General AMD refinements to improve performance and optimize modules throughout the toolkit
14.  Dijit Select and Tree now connect directly with Dojo Object Store API
15.  Claro’s gradients are easier to customize through CSS rather than images for non-IE browsers
16.  CometD and Lightstreamer integrations are updated to AMD, and should be downloaded from their projects
17.  General performance improvements to many widgets and to Dojo Charts
18.  A mobile migration assistant from 1.6 or 1.7 to 1.8, to make it easy to migrate through the many mobile improvements

More Information

Keep following SitePen on your favorite social network for more Dojo 1.8 updates! We’ll be blogging regularly between now and the release of Dojo 1.8 to tell you more.

Comments

  • wagnermarques

    I can’t wait to try!!!

  • Very Exciting!

  • Nikhil Katre

    1) Can I use any dojo, dijit or dojox API in my mobile web application ?
    2) The tutorials page lists a number of fantastic techniques :-
    http://dojotoolkit.org/documentation/
    Can I use any of these in my Dojo Mobile application ?
    My questions originate from the fact that Dojo does not have a clearly separated API for mobile applications like SenchaTouch does (SenchaTouch API are clearly separate from EXTJS API).

  • 1. Yes, in most cases. A few items don’t work (e.g. the rich text editor). Drag-n-Drop and Dijit were improved for 1.8.
    2. This is intentional. We’re trying to build a toolkit that can work anywhere, with mobile specific UI optimizations (dojox/mobile), rather than two completely separate and different toolkits.

  • Nikhil Katre

    I have a question on the DOM Buttons technique explained by Yoshiroh Kamiyama in this Article :-
    http://www.ibm.com/developerworks/mobile/library/mo-dojo-mobile-performance/index.html
    Where can I find documentation on the various DOM button classes that I can use ?