Hi,
In one project of mine we are continuously testing against
mobile tablets and phones. We lack the resources for a proper
mobile port so we are trying to be decent enough.
In my experience the problem is not the GWT generated code.
The compiler brings sanity to any medium project by simply
allowing refactoring due to java tooling and static typing.
This is very nice and not a source of problems.
The problems lies to the widget set. It is old and was
designed in the desktop era and it shows in the mobile. It
works but it feels clunky... and that makes the experience
non optimal.
Some walls I hit my head against in no specific order.
1) Touch interface works through mouse emulation. This
should be enough for the most common cases. My application
didn't fit that bill and I had to hunt down the order of
various events in various browsers and emulators to get it
right.
2) Popups are implying body as parent. This doesn't fly with
fullscreen divs and a gwt application as a widget in general.
3) MenuItems are based on popups - No menus in div fullscreen
mode
4) MenuItems and most other widgets (DisclosurePanel,
TablLayoutPanel) are not "nice" from an aesthetic point of
view. You can customize it a lot through css but I believe a
new responsive widget set is required to modernize them
5) Popups and DialogBoxes are based on tables and they taking
their size inside-out which is what you want half the times.
Furthermore tables are completely non-responsive and obsolete
design that css cannot change its basic layout
characteristics.
In my experience every GWT widget I have used led to a huge
backlash that forced me change it so in the end I try to not
depend on GWT widgets. As you may understand I am still
depending in MenuItems and Popups :-) and LayoutPanels
I don't want to be overly negative. The GWT widget systems
had its moments. The LayoutPanels and the
ProvidesResize/RequiresResize chain was a moment of genius.
Sometimes it is hard as hell to find where the chain is
breaking (especially if you are inexperienced in GWT) but the
idea is solid. With some machinery it maybe possible to
provide some hints...
UIBinder is another of these cool ideas that makes GWT a
success in my eyes.
All in all I think the GWT team is doing the right thing
that deprecating the widget set for GWT 3. Maybe with
@jsinterop it would be easier to employ modern _javascript_ eye
candy libraries for UI.
And yes it may be the right thing but it will be pretty
painful for me although my exposure to GWT widgets has been
kept minimal.
Just my 2cents.
Vassilis
--