PDA

View Full Version : Ext GWT(Gxt) vs GWT-Ext



rahulmca1@gmail.com
1 Dec 2008, 4:01 AM
Hi,
Very new to GWT. Looking around I found Ext GWT(Gxt), GWT-Ext.

Can any one describe me whats the difference between these two?

Which one is better?


Thanks:)

skanberg
1 Dec 2008, 6:14 AM
Ext GWT: A pure GWT library.
GWT-Ext: A wrapper around an old version of ExtJS.

LINEMAN78
1 Dec 2008, 11:52 AM
See this thread...

http://www.extjs.com/forum/showthread.php?t=52949

monzonj
2 Dec 2008, 8:37 AM
Oh, both are difficult. I'm not going to lie to you. GWT is not Swing, it's much more difficult to manage. And if you use a library such as EXT-GWT or GWT-EXT prepare yourself to spend several weeks trying to "tame" the beast.

But if you are confident like us, then take EXT-GWT without a doubt. I come from GWT-EXT and it was just a wrapper of the EXT-JS libraries. Besides, If you want RPC you have to pay even if you are only evaluating the tool.

LINEMAN78
2 Dec 2008, 9:29 AM
Oh, both are difficult. I'm not going to lie to you. GWT is not Swing, it's much more difficult to manage.

I beg to differ... I think that having the HTML base makes GWT inherently more flexible than swing. Those that are Java developers may find in a little less straight forward, but if you have done any web development and know how to use CSS, it makes things a lot easier. Now, some of the GXT layouts are a little different and act more like swing and I have found that it is sometimes easier and better to put a standard GWT component inside of a GXT container do to the unusual way that GXT handles resizing of divs with their recursive model rather than letting the browser do the work.

kprasad9
30 Sep 2011, 2:24 AM
After diving in with GWT I would characterize my experience as mostly positive. The Java to Javascript translation is amazing. I have yet to trip up the compiler, even when using complex combinations of generics, anonymous inner classes, etc. This is an impressive feat of engineering. The ability to trivially create rich desktop-like UIs is fantastic. Many thanks to Google for making an entirely new approach to web application programming available to the public. They could have easily kept this internal as a powerful secret weapon.

That being said, there is some roughness around the edges. GWT's widgets are very basic so many people use another library called Ext GWT (http://www.extjs.com/products/gxt/) on top of it. Ext GWT, not to be confused with GWT Ext (http://gwt-ext.com/), is also referred to as GXT. Confused yet? We sure were when we first started researching these libraries. The primary difference is that GWT Ext provides thin GWT wrappers around JavaScript components while GXT is written 99% in Java. They share the popular Ext JS library's CSS and image assets. The GXT Java code is translated to JavaScript by the GWT compiler. I've talked to several developers that went down the GWT Ext rabbit hole first because they have much nicer looking examples. Invariably they find the opaqueness frustrating and jump ship to GXT. Ext JS, makers of GXT, do a poor job of marketing the fundamental differences between the libraries. This, coupled with the naming mess, leads to a lot of confusion.

GXT has some very nice high level components (grids, portals, etc.) Their components look great, and work well on all the major browsers, but GXT's design doesn't lend itself to easy extension. For example, many members are private that should be part of the public API. Most of the basic component classes do a ton of configuration in the default constructor making it impossible to customize the behavior. For example, they attach listeners in the constructor instead of calling out to a protected configureListeners method. Often there is no way to undo this because you can't enumerate all the listeners. This forces you to copy large blocks of code for no good reason. Finally, many of the APIs have confusing or bizarre names. Want to line up widgets vertically? Use the RowLayout.

GWT is an awesome foundation, but most non-trivial applications require use of a library such as GXT or GWT Ext on top of GWT to provide things like nice grids. These libraries just aren't as evolved as frameworks such as Swing, WPF or Flex. This leaves you with the option of creating your own high level components on top of GWT or dealing with immature higher level libraries.