GWT Tatami: Dojo Integration for GWT
Learn more about one dev's latest discovery: GWT Tatami for Dojo integration.
Join the DZone community and get the full member experience.
Join For FreeThis 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, of course, 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 APIs)."
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 APIs 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.
Opinions expressed by DZone contributors are their own.
Comments