OpenLaszlo and Dojo
Tuesday, April 25th, 2006Yesterday we announced a strategic partnership with the Dojo Foundation: OpenLaszlo will not only be licensing the Dojo Toolkit for use within our next major release, we will also make substantial code contributions back to Dojo for use by the entire Ajax/DHTML community.
I'd like to write a little bit about why Dojo is a good choice for us and where we see it fitting into our platform architecture.
The Dojo connection came about as part of our current project to bring OpenLaszlo to multiple runtimes, and to DHTML. We are building separate kernels for each of our runtimes. These are small pieces of code, written in the native dialect of the target (ActionScript 2.0 for Flash 7 and 8, cross-browser JavaScript 1.4 for DHTML, and so on), and providing the runtime abstraction layer upon which the rest of the platform will rest. As we approached the design of the DHTML kernel, it seemed to us that the more we could leverage work being done in the Ajax/DHTML world the better that kernel would turn out.
Dojo quickly stood out as a toolkit with a mature design philosophy, committed and smart collaborators, and (crucially) a package system that would allow us to pick and choose features without adopting the entire toolkit. Our needs are specific, and low level: leak-free event handling, robust media loading, cross-browser DOM APIs, and so on. Dojo is able to provide many of these, so we decided to license it for use within the OpenLaszlo/DHTML kernel.
But Dojo doesn't provide everything we would want in a DHTML kernel. For example, our kernel exports the concept of a sprite—basically an interactive display primitive, implemented as a MovieClip in Flash 7 and 8, and as a DIV in DHTML. Our thought was: why not contribute these pieces back to Dojo? We're both open source, with compatible licenses, so a contribution like this repackages code we would write anyway in a form that can be re-used by the broadest possible audience. OpenLaszlo benefits from more smart engineers using and improving the kernel of our DHTML runtime, and the Ajax community gains new libraries within a mainstream toolkit.
Where are we now? The OpenLaszlo platform team is currently in the process of refactoring the LFC (Laszlo Foundation Classes) along a kernel API boundary, and has begun incorporating Dojo libraries into our rapidly-evolving DHTML kernel. We've also already benefited from the Dojo unit test infrastructure: we hope to support Rhino as a server-side unit test environment, and Dojo's support for that VM has helped us to bootstrap ourselves into Rhino. Once our kernel APIs and DHTML kernel stabilize we will be looking at what we can contribute back to Dojo.
These are exciting times! Dojo and OpenLaszlo are both participants in the birth of a new web-centric application technology, and it's great to be working with them so closely to make that happen.
Technorati Tags:
opensource, openlaszlo, laszlo, dojo, ajax








