views:

422

answers:

1

Hi, I would like to know the difference between GWT, GWT-RPC, EXT-GWT and Smart GWT. Currently, I managed to borrow books on GWT which I understand is just a library designed to facilitate fast and efficient Ajax (asynchronous JavaScript and XML) development. But what are the rest? Could anyone explain it? Thanks.

+7  A: 

GWT is Google Web Toolkit, for a framework for writing Web Interfaces in Java and compiling them to Javascript.

GWT RPC is a communication mechanism that allows client side GWT applications to communicate with a Java Server. It is part of GWT.

Ext GWT and Smart GWT are libraries which give you more components to use in your GWT applications, i.e. to use either of these you'll need a GWT application.

Smart GWT is a LGPL framework that sits on top of the components from the Smart Client library. When I looked at a couple of years ago I decided I didn't like it as it was a very thin wrapper around the JavaScript components of Smart Client, which meant when you were debugging your code you quickly hit "native" JavaScript which the Java debugger can't do anything with.

Ext GWT has a complicated history as there is both Ext GWT and gwt-ext.

gwt-ext is a fork from an old open source version of Ext GWT, but it is no longer maintained and so is not worth looking it. I mention it so if you come across it you'll know what it is.

Ext GWT is still maintained and has both commercial and open source licenses. It's from the same company who make the Ext Js JavaScript library, so it probably has some common code but it is not just a wrapper around Ext Js. This is why I preferred it to Smart GWT as it had a lot more Java code which meant when you had a problem you could have the debugger look at the Ext GWT code so you could work out what was really happening.

Dave Webb
thanks so much for the prompt reply! so am I right to say that GWT-RPC, Ext-GWT and Smart GWT all work upon the basis of GWT?
JCX
@user403054 - Yes, exactly so. You have to have a GWT app to use GWT RPC, Ext GWT or Smart GWT.
Dave Webb
oh ok that's cool.
JCX
@Dave Gxt may share the look and feel and the general API structure of Ext JS but it is not based on top of ExtJS. It does not make use of Ext Js scripts either directly or indirectly. Correct me if I am wrong.
Ashwin Prabhu
@Ashin Prabhu - by "based" I meant it shares some of the code since the components do look the same, but as I tried to make clear it is written in Java rather than just sitting on top of the JavaScript library in the same way Smart GWT does. I'll change the wording to make this clearer.
Dave Webb