Saturday, February 5, 2011

GWT widgets and SmartGWT widgets

When application is purely designed in GWT and it is decided at some stage that smartGWT widgets should be used for the functionality and beautification of the application then be careful.

I am sharing my personal experience in this case.
I do not find a sound reason for using SmartGWT in already built GWT application. I faced many difficulties in smartGWT. Only in one case SmartGWT is successful and that is, whole application should be in SmartGWT from scratch. SmartGWT and GWT widgets cannot live together.

Some of the problems are mentioned here: 

  1. SmartGWT's widgets' events do not fire properly for example: ListGrid's doubleClick and click events, Checkboxes' valuechanged events in Firefox 3.6 and amazingly these events work properly in IE6,7 and 8. So all browsers do not support in this case.
  2. SmartGWT widgets do not resize automatically, I had to handle this behaviour manually.
  3. You can not apply a new style on ListGrid easily becuase it has many inner styles. Every widgets of smartGwt has lots of CSS styles and they remain firing either you apply new styles or not.
  4. Z-Index is more obvious than any other issue. One has to set each SmartGwt's widget Z-Index attribute in CSS otherwise setting this attribute in code does not work.
  5. Although Showcase is amazing but there are no guarantees either each and every widget will fit in the page.
  6. SmartGWT widgets should not be used in a GWT's application. SmartGWT widgets fail in the containers of GWT.
  7. Width100() does not work, events do not fire etc etc
At last my Team Lead (Fahim Rauf) has decided to remove it fully. So he  designed new ListGrid using GWT's Flextable. We are all HAPPY now.