Thanks Sanjiv,
that is reassuring.
I was looking for something like a simple upgrade guide like the one from EXT1 to EXT2 highlighting the differences between the two approaches. I know that it saved me a lot of time and trial and error back then.
I have had a closer look at SmartGWT and tried to integrate it with my application.
I generally believe that most of it will work, but it's really about finding out the little things and problems.
For example I have a button that changes its icon at runtime by setting a new IconCls. This works fine in GWT-EXT, but in SmartGWT using setBackgroundImage or setIcon will lead to an IllegalStateException because you cannot change this property after it has been rendered. So essentially, I guess I will have to have two buttons here with one hidden at a time. Not a big problem, but I am just scratching at the surface at the moment to estimate the amount of work involved in switching to SmartGWT.
One thing that I haven't figured out is how to handle loading data into grids. I currently often use a MemoryProxy, RecordDef, ArrayReader, Store, etc for this and am unsure how this would best be translated into SmartGWT.
Code:
MemoryProxy proxy = new MemoryProxy((String[][]) result.toArray(new String[result.size()][]));
RecordDef recordDef = new RecordDef(
new FieldDef[]{
new StringFieldDef("id"),
new StringFieldDef("test"),
new StringFieldDef("description"),
}
);
ArrayReader reader = new ArrayReader(recordDef);
GroupingStore store = new GroupingStore();
store.setReader(reader);
store.setDataProxy(proxy);
....
A step-wise approach is good, but has its limitations, e.g. before I can change an AccordionLayout to a SectionStack, all the panels I use within the current Accordion need to be converted to SmartGWT canvasses first (or the other way round.) It's a bit viral, although I guess you can do it in several iterations at least if you handle it in a smart way.
Charting: I guess GChart will be fine.
Anyway, SmartGWT seems to be really good.
Cheers
Sebastian