views:

478

answers:

3

Besides the obvious differences between JavaScript and Java, what are the relevant differences in using either SmartClient or SmartGWT?

+2  A: 

SmartGWT is the GWT wrapper for SmartClient, which, as you say, means that you're able to write your SmartGWT app using java.

From my experience the only difference that matters when you're programming is that the GWT wrapper is a bit more restrictive than using the js components directly. For example, programmatically scrolling a TreeGrid from java is hell, since the body of the underlying table (that you need to get at in order to scroll the blasted thing) is not exposed through SmartGWT, while it of course is easily reachable from js.

Overall I wouldn't base the choice between the js components and the gwt wrapper soley on these differences, but I would look at other factors in your project. Which techniques are you most comfortable with? How much custimization are you planning on doing?

Banang
Let me put it this way: if SmartGWT is just a wrapper, do you see any point in using it instead of using SmartClient directly? Besides the static typing nature of Java, what does SmartGWT bring to the table?
ivo
Besides the static advantages of using java, no, there is nothing I can think of. In the end I suppose it depends on what sort of project you're running, and what sorts of skills you have.
Banang
Note that the particular problem you're referring to (inability to get to the body) was solved a long time ago with this and other APIs:http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/widgets/grid/ListGrid.html#getGridRenderer%28%29
Charles Kendrick
+1  A: 

SmartGWT provides you the advantage that you may use powerful editors.

You can debug your own code easily (however it's not very helpful for diving into the smartclient code itself).

You have all the auto completion stuff of eclipse/netbeans at hand. When starting to work with SmartClient/Gwt it helps you find the things you are looking for because the editor can list you classes or the available methods and some basic documentation what the class/method actually does. Saves you a lot of time crawling through the docs

dube
dube, those are differences found in any Java vs JavaScript technology. They are not specific to SmartGWT and SmartClient.
ivo
Just wanted to mention it since I cannot know what background you have and for myself, it makes _the_ big difference wheater to use smartclient/gwt in the first place. Also it's the first time you really can compare those two languages because they really give the same result. I do not intend to ever touch javascript directly again after working with gwt :)
dube
+1  A: 

Banang : API's to access ListGrid / TreeGrid body are now exposed in Smart GWT.

Sanjiv Jivan