Platinum Partner
ajax,gwt,dojo

GWT Tatami: Dojo Integration for GWT

This morning, I learned about GWT Tatami from onGWT.com. If you're using or interested in GWT, I'd highly suggest you subscribe to this blog. First of all, I think it's interesting that someone has done the seemingly hard work of porting GWT's philosophy to another Ajax Framework. As far as I know, this involves rewriting many of GWT's classes and their "native" methods to contain the library's JavaScript instead of the default ones that ship with GWT. GWT-Ext and MyGWT do something similar for Ext JS.

Back in September, I asked Sanjiv Jivan (the author of GWT-Ext) what the difference was between his project and MyGWT. His response:

GWT-Ext basically wraps the Ext JS framework with an API which presently maps closely to the Ext JS API, ofcourse with Java constructs like listeners, constants, interfaces and other Java'esque patterns. GWT allows you to make JS calls which is what GWT-Ext does, however its not as simple as it sounds to implement and GWT-Ext does some pretty neat stuff under the hoods with callbacks and other stuff but its all transparent (and risk free) to the end user who just sees a Java API to the Ext JS library in a way that its usage is just like standard GWT API's. (for example GWT-Ext Widgets extends the GWT Widget base class, while rendering Ext widgets and exposing its API's).

MyGWT is written by a user who has examined / reverse engineer Ext JS code to an extent and is trying to rewrite it using GWT Java constructs, without any of Ext's javascript. Being all Java is appealing to some users at first glance, however there's more to it once you dig a little deeper. There's nothing inherent with writing GWT widgets and API's in Java that makes it necessarily faster, more robust or cross browser compliant. GWT does have its own event manager and dispatcher which helps avoid introducing event leaks, but that's it.. you can run into the very same display issues and cross browser incompatibilities trying to write widget code in Javascript or using GWT's Java API's.

I wonder which technique Tatami uses? Furthermore, I think it's interesting that all of these GWT wrapper extensions use an LGPL license when GWT is Apache licensed. Are they afraid of someone "stealing" all of their hard work and making into a proprietary product? Personally, I like the Apache license - especially because it promotes truly free software. Software that anyone can do anything with.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}