All posts by Dylan Schiemann

About Dylan Schiemann

Known for things called Dojo, SitePen, and Comet.

Dojo 1.7.1 is Released!

We’re happy to announce Dojo 1.7.1 is now available for download.

Review the list of issues resolved in this release.

Please report any new issues you find in your testing with your Dojo Foundation account. Links to CDN, and an updated reference guide, web site, and tutorials for 1.7 will be available soon.

And special thanks to Colin Snover and Ken Franqueiro for managing this release!

Learn more about AMD!

If you’ve been reading about Dojo 1.7, the first thing you’re probably wondering is, what is this AMD thing that everyone is talking about? We have a great tutorial update in the works, and some in progress AMD docs. If you’re first learning about AMD, here are a few presentations and resources that are particularly useful:

For efficiently loading modules, Dojo 1.7 by default includes a new async loader based on Rawld Gill’s excellent work on the backdraft framework. Dojo can also be used with RequireJS, curl.js, or other AMD loaders.

Dojo 1.7 Released!

Dojo 1.7 is now available and ready for your web app. The second major release towards our plans for 2.0, we’ve undergone substantial improvements while preserving existing APIs and capabilities. The Dojo community has come together to dramatically improve the performance and modularity of the toolkit, a popular theme in the world of AMD (asynchronous module definition), JavaScript loaders, and microtoolkits.

Dojo Nano: Less than 4KB gzipped!

Dojo 1.7 provides substantial improvements for building desktop and mobile apps using open web technologies. In addition to a wide variety of features and changes, Dojo has been significantly improved to deliver a foundation that’s ideal for building your applications in any environment (web, desktop, mobile, server-side). Starting with less than 4KB (gzipped), you include just the features you need in your application, from Dojo, your source code, and plug-ins hosted by Dojo, GitHub, and others.

Get Dojo

Overall Vision: Separation of Data and User Experience

You will often hear us talk about separation of concerns. Your users typically want access to relevant data and information, in a variety of different contexts and experiences (desktop web, mobile, tablets/pads, television, automobiles, and much more).

With this understanding in mind, Dojo provides:

  • Tools to mix and match to create your app
  • Simple APIs to seamlessly separate data from UI logic
  • Modularity for very simple projects that’s flexible and consistent enough to handle the most challenging, feature-rich web apps

By truly separating data from your user experience, you can efficiently deliver amazing results to the users of your applications. In a world of many diverse platforms, the separation of data and user experience is key to giving your users access to the data and information they want, in an experience that’s ideal given the context (device, task to be conducted, etc.). It’s definitely a concept that’s gaining popularity, for example the experimental model-driven views library from Google.

Getting There: Compatibility and API Changes

One of our major goals with the Dojo Toolkit is that your application should be easy to upgrade between point releases, e.g., 1.5 to 1.6, and we only make major, incompatible API changes when changing major version numbers, e.g. 1.0 to 2.0. In order to guarantee this API compatibility and consistency, we need time to make sure our APIs are stable and solid. The changes in Dojo 1.6 and 1.7 represent a major refactoring of Dojo for 2.0, while preserving compatibility with previous versions of Dojo. Thus, there are a flurry of new APIs that you should consider to represent Dojo 2.0 alpha or beta, while still being able to safely use existing APIs that may be deprecated in 2.0.

We will discuss many of these changes in more detail through blog posts, tutorials and web site updates in the near future. Here’s a brief summary of the major changes.

Optimized Resource Loading: Asynchronous Module Definition

Module and resource loading has become extremely popular as more application developers have discovered the need for powerful management of larger JavaScript code bases. AMD arrived in Dojo 1.6 and has been completed for Dojo 1.7.

Dojo Toolkit developers have played a major role in helping define the AMD specification. These are excellent innovations in JavaScript which do not necessarily require Dojo and can encourage interoperability across projects. In fact, the RequireJS project is a Dojo Foundation project that’s popular in the jQuery community for working with modules and AMD. And AMD is also gaining support in newer versions of jQuery, MooTools and many other projects.

Key Considerations in working with AMD include:

  • Package Management
    • Modularity of code as well as ease of cross-project sharing, while reducing side effects and testing complexity
  • Optimization: reduced size balanced with number of requests
  • Feature Detection and user-agent optimized builds: has.js and optimized builds for common user agents
  • Reconstitution: easily combining modules from Dojo, your work, and other projects across the web

The amazing new async loader dramatically improves the performance of your AMD application. For reconstitution of modules outside of Dojo, we have a package distribution system that makes it easy to deploy packages and their dependencies. It is the work in progress CommonJS Package Manager platform, which works well with Dojo and many external projects.

dgrid

Of particular note is the new dgrid module, a lightweight grid redesigned for performance and modularity.

Core refinements

Dojo 1.6 introduced the new Dojo Object Store API, based on the HTML5 IndexedDB recommendation. It provides an incredibly intuitive and simple way to include arbitrary data in your user interfaces, with simple APIs for getting and setting data. More advanced constructs like real-time updates with Dojo Socket, validation, caching, and more are simply added through lightweight wrappers. Refinements and stability improvements to this have been added in 1.7.

As announced previously, the event and query systems have been refactored to improve performance, simplify the API, and add modularity. For example, you can now use a very lightweight query system, or include the full Dojo Acme, jQuery Sizzle, or MooTools Slick query engines within your application.

Other major improvements

  • “Baseless Dojo”, with far lighter dependencies throughout the Dojo codebase. Expect more efforts in this area towards Dojo 1.8.
  • _TemplatedMixin/_WidgetsInTemplateMixin, and _setXXXAttr API refinements
  • dijit/focus, dijit/place, dijit/popup, and dijit/registry
  • CalendarLite
  • ComboBox/FilteringSelect, with native dojo/store support
  • Zoom/pan/data interactions
  • BIDI text support
  • Gauges, Geo, and GFX improvements, especially for mobile
  • Support for Blackberry 6 in Dojo Mobile.
  • Dijit support for touch and gesture events on mobile platforms.
  • Application controller and MVC, and an updated Dojo Boilerplate.



Mobile Modularity

The other Dojo Foundation mobile projects, Wink Toolkit and EmbedJS, have adopted AMD as well. See Wink and Dojo used together in the Dojo Community Connections demo.

Testing and Compatibility

In total, we’ve resolved more than 1000 issues since Dojo 1.6. The DOH test suite of tens of thousands of tests passes in all officially supported browsers:

  • Chrome: 8.x and newer
  • Firefox: 3.6.x and newer
  • Internet Explorer: 6, 7, 8, and 9
  • Opera: 11.x and 12.x
  • Safari: 5.0.x and 5.1.x

Dojo is also tested with popular mobile browsers including iOS 4.x and 5.x, Android 2.x, 3.x, and 4.x, and Blackberry 6, and passes for all supported features in Dojo Mobile, and most features throughout Dojo. Work is planned for supporting Blackberry 7 and QNX, and Windows Phone 7.5.

Use Direct from the CDN, or Download

Get the Dojo release that’s right for you. Choose from CDN, optimized builds, or source versions with full demos and utilities. Please note that if you are upgrading from 1.6 or earlier, we no longer make a distinction between dojo.js and dojo.xd.js (all versions work cross-domain with the new loader), so update your URLs to refer to dojo.js.

Get Dojo

Documentation

Many improvements have been made to the Dojo documentation. The dozens of Dojo Tutorials are being updated for 1.7, in addition to the reference guide and API documentation. Expect these updates to be completed by the end of 2011.

Roadmap

Work on Dojo 1.8 is already underway. We’re anticipating a 1.8 release in Q1 2012, and 2.0 in mid-late 2012.

Release Notes

Read the complete Dojo 1.7 release notes for full details on everything that has changed with Dojo since 1.6.

Browser-compatibility Releases

In the coming weeks, and as a new policy going forward, we plan to issue point releases more regularly for 1.5.x and newer, rather than just for the most current release. The goal with these updates is to fix compatibility issues with new browsers that are released. This will allow you to use Dojo with new browser releases without as much risk in the upgrade cycle. Expect a 1.5.2 release in the near future with support for Firefox 4+ and IE9, and a 1.6.2 release as well with minor updates. Because new browsers are released with increasing frequency, this should help many Dojo users keep their apps running properly with new browser releases. While we’re moving more of Dojo to feature detection, there are still no guarantees that everything works as expected in new browsers, especially when changes are as dramatic as IE8 to IE9 for example.

Thanks!

And as always, we appreciate your interest and usage. If you find an issue with Dojo, have a suggestion, or see anything on the site or within the documentation that you think should be better, please register for a Dojo Foundation account and open a ticket.

DojoConf Tickets Now On Sale!

The first ever DojoConf will be a premier event for the Dojo community and JavaScript community at large. it is run by the amazing team behind JSConf and TXJS, so you can plan on amazing presentations followed up by outstanding social events.

  • Where: Washington, DC (Palomar Hotel)
  • When: Evening of September 15th, all-day September 16 and 17, 2011
  • Who: Speakers including Peter Higgins, Dylan Schiemann, Alex Russell, Patrick Ruzand, James Thomas and many more presenting on everything from the future of Dojo to Dojo Mobile. Attendees will include anyone interested in Dojo, including committers, contributors, web developers, designers, project managers, and software architects.
  • How: Tickets for DojoConf are available for US $650 for General Admission, and are currently on sale with very limited supplies. Hotel rooms are available for the low price of US $149 and can be reserved once you register.
  • What’s included: The ticket cost covers full access to all three parties and all of the conference day-of events, basically everything is taken care of for you!

Early bird tickets have already gone on sale and sold out in a matter of hours, we have opened up a few more Early Bird tickets with this blog post to ensure that those who need/want them can get them. Get them now, they will sell out quickly!

Dojo Web Builder Source on GitHub

Last month we launched the Dojo Web Builder, an online solution to generate customised versions of The Dojo Toolkit using just your web browser. We are pleased to announce that the technology behind the Dojo Web Builder is now available on Github as an official Dojo Foundation project.

Users can now run the tool locally, which provides access to two really important features….

  • Generate custom Dojo builds for older versions of the Dojo Toolkit. The Web Builder can be easily configured to work with older versions of the toolkit, whereas the hosted version only provides access to the latest version of Dojo. This allows users who aren’t using the latest version of Dojo within their application to generate customised builds with the tool.
  • Expose custom application modules through the Web Builder. Plug your local Dojo modules into the Web Builder and the tool will automatically allow users to build optimised application layers from all modules it has discovered.

Follow the simple instructions in the project’s README file for full details on both of these modes.

Visit the Dojo Web Builder GitHub project and start using it today!

Dojo 1.6.1, 1.7 Beta, Tutorials, Dojo Beer, DojoConf, and more…

If you haven’t been following us on Twitter, it’s been a very busy month in our community, with many exciting announcements and upcoming events.

Recent News

  • Dojo 1.6.1 released. Many minor enhancements and fixes were made, along with official support for Internet Explorer 9 and Firefox 4.
  • Dojo 1.7 beta released. Please start testing your applications now and report issues. A draft of the 1.7 release notes is in progress. 1.7 final is slated for release in the next 3-6 weeks.
  • Dojo Tutorials. In case you missed it, we now have 28 new tutorials, all updated for Dojo 1.6, covering a variety of areas of Dojo and Dojo Mobile, as well as a new section of Dojo Recipes, for solving complex real-world problems.

Upcoming Events

  • Dojo Workshops in your area. SitePen has been offering a number of workshops, with the next Dojo Workshop in Washington DC. Register now for one of the last few slots.
  • Dojo Beer DC. Even if you cannot make the workshop, join us for free Dojo Beer in DC, or any upcoming Dojo Beer event.
  • The first ever DojoConf is coming. Run by the same great team that brings us JSConf, DojoConf will be an amazing event. Stay tuned for tickets, which go on sale in a few weeks. Or submit a talk idea by this Friday, June 10th.
  • The London Ajax Mobile Event will feature a number of great talks on mobile, including Dojo Mobile, EmbedJS, WinkToolkit, and more on July 2nd in London. A few tickets remain, register before it sells out.

We hope to see you at one of these, or many other upcoming Dojo events.

Introducing the New Dojo Web Builder

Background

Dojo’s build system has long been considered as one of the toolkit’s most important features. Using the build system will dramatically improve the performance of your Dojo application by optimising the JavaScript modules and CSS files. This reduces the download size and number of HTTP connections needed to load your application.

Today, The Dojo Toolkit’s build tools are about to improve even further with the launching of a brand new solution, The Dojo Web Builder!

The Web Builder is an online solution providing an intuitive web interface to the existing build tools, allowing you to create customised Dojo builds using just your web browser and much more. This new tool will dramatically lower the barrier to entry for the build system, easing new users into the process of using a build tool and improving the performance of unoptimised Dojo applications everywhere!

To start, use the Dojo Web Builder tool, or continue reading for more details. We have produced a number of screencasts showing off the tool’s features and walking you through the steps required for some common example builds:

Dojo Web Builder – Custom Builds from Dojo Toolkit on Vimeo.

Dojo Web Builder – Auto Analysis from Dojo Toolkit on Vimeo.

Dojo Web Builder – Advanced Mode from Dojo Toolkit on Vimeo.

Features

  • Browse catalogue of every module in Dojo, Dijit and DojoX, using text searching to quickly filter the entire results. Simply select desired modules to include those in a custom build. Currently serving over eight hundred modules for the 1.6 release.
  • Automatically generate custom Dojo builds using our remote service, no need to open terminals and run the intensive build system locally. When the build is complete, it will automatically start the download of the result. Progress indicator keeps you informed of status during a custom build.
  • Auto-analyse existing Dojo applications to discover module dependencies. Provide the Web Builder with a remote URL, upload a HTML page, zip archive or an existing build profile to have the tool show you any Dojo Toolkit or custom module dependencies uncovered. Custom builds using the results will automatically include your custom modules.
  • Customise builds even further in “Advanced Mode”. Want to include a Dijit theme with compressed CSS? Want to use Google’s Closure compiler for aggressive compression? Want to build multiple application layers? Want to generate builds for the WebKit platform? Need to generate a cross-domain build? Switch to using the Web Builder in “Advanced Mode” to unleash the ability to heavily customise build parameters.

Open source

The Dojo Web Builder project consists of two new components that were developed:

  • Dojo-based web application providing the interface to the build system through a web browser.
  • Backend service, allowing existing build system to be controlled through a RESTful interface.

The entire project will shortly be open-sourced, living on the Dojo Foundation’s Github repository, allowing anyone to contribute to its continuing development. More importantly, other users will be able to run local versions of the tool pointing at their own modules. For example, an organisation might provide an internal version allowing teams to easily generate new custom builds of a project’s modules, without having to distribute the entire project source. In addition, the tool can be configured to generate custom builds for older versions of The Dojo Toolkit, such as 1.5 and 1.4.3. Future plans for the project include native support for the AMD module and CommonJS package formats. This will allow the Dojo Web Builder to be used with a broad variety of JavaScript modules and packages external to Dojo. A full announcement will follow when the project’s source code is available.

Conclusion

Start using the Dojo Web Builder today. The hosted version is configured to provide access to the custom builds using the latest version of The Dojo Toolkit, 1.6.

Dojo 1.6 Released!

Now available, and ready for your web app!

The Dojo 1.6 release was a substantial undertaking and involves efforts from the largest Dojo team ever. We’re reinventing Dojo for the present and the future, and this release is the first major step towards our plans for Dojo 2.0. The tremendous efforts and work of the Dojo community has made this release possible, with significant improvements in a short amount of time.

Get Dojo

What’s New in 1.6?

Dojo 1.6 contains a number of great additions and refinements. Key highlights include:

We’ve also made substantial progress on Dojo Mobile, available now for your mobile web apps!

Visit the new Dojo Features section to watch interviews with key Dojo committers and users and learn more about this release, as well as the thousands of outstanding features that have been in Dojo for several years.

Learn More

Testing and Compatibility

In total, we’ve resolved more than 600 issues since Dojo 1.5. The DOH test suite of tens of thousands of tests passes in all officially supported browsers:

  • Chrome: 8.x and newer
  • Firefox: 3.5.x and 3.6.x
  • Internet Explorer: 6, 7, and 8
  • Opera: 11.x
  • Safari: 4.1.x and 5.0.x

The code was completed before Internet Explorer 9 and Firefox 4 were released. That said, we’ve fixed all known issues with these browsers as well (testing was done with IE9 RC and Firefox 4 RC1).

Dojo is also tested with popular mobile browsers including iOS 4.x, Android 2.x and 3.x, and passes for all supported features in Dojo Mobile, and most features throughout Dojo. Work is also near completion for support with Blackberry 6 on mobile phones and the PlayBook.

Use Direct from the CDN, or Download

Get the Dojo release that’s right for you. Choose from CDN, optimized builds, or source versions with full demos and utilities.

Get Dojo

Documentation

Many improvements have been made to the Dojo documentation. Most notable is a collection of new tutorials on using Dojo 1.6, in addition to the reference guide and API documentation.

Documentation

Roadmap

Work on Dojo 1.7 is already underway. We’re anticipating releases every 3 months in 2011 as we make progress towards Dojo 2.0! A full roadmap will be available shortly so you’re aware of the latest changes, and to know how to get involved.

Release Notes

Read the complete Dojo 1.6 release notes for full details on everything that has changed with Dojo since 1.5.

Thanks!

And as always, we appreciate your interest and usage. If you find an issue with Dojo, have a suggestion, or see anything on the site or within the documentation that you think should be better, please register for a Dojo Foundation account and open a ticket.