Dojo


Last week I delivered a week long training on Adobe Flex 3 (yet again). Apart from the technologies - Adobe Flex and ActionScript - the training aimed to focus on Web 2.0 and RIA.

Web 2.0 and RIA, today, are more or less established philosophies.

However, what I think is that the world is heavily divided on which framework / toolkit to go for. Most of the web revolves around JavaScript & Ajax and/or Flash & ActionScript. Slowly and gradually, Silverlight & WPF/JavaScript seems to be making inroad on the development front - not quite sure how fast.

So, I thought let me try to compile a few frameworks (partial list inspired from the one at Wikipedia):

Barring Adobe Flex, all other frameworks use a common technology - JavaScript and Ajax.

However, some toolkits like Dojo uses / used Flash for offline storage. Some of them are moving to Google Gears for offline store.

And at the moment, I have to rush to the market… will build on this in my subsequent articles.

   

Just yesterday I posted about “thinking” to create the Java API to work for Dojo on GWT. And today, it’s kind of official.

Edujini Labs is going to sponsor this project. Check the posting on Eduzine here.

In fact, a mail to the Dojo Team has already been sent about the intimation of the same.

Have a look at the “Hello, World!” on the early-stage DWT.

   

My real love for GWT started only a couple of days ago… and it prompted me to get started with Dojo on GWT.

I have, so far, written a couple of core-classes in Java mainly to abstract out the interaction with JavaScriptObject.

My next target was to directly jump on to dijit, and start creating the UI. And then I realized that it uses mixins. And now I am left wondering what’s the best way to handle mixins.

For the new comers, JavaScript allows single inheritance but Dojo (and other libraries) make use of mixins to pseudo-inherit methods and properties from other objects by copying them to the sub-object.

In Java, this can be achieved only by making use of interfaces. The other possibility is to introduce a class between the parent and the child class that encapsulates the mixin objects.

I think the latter is a better approach. Simply expose the object or may be create delegate methods.

Let me think over it… what’s the best way to marry Java and JavaScript.