GWT best practices and GUI libraries

76 views
Skip to first unread message

dhoffer

unread,
Dec 9, 2010, 2:50:09 PM12/9/10
to Google Web Toolkit
I have some questions about the new 2.1 release, how this compares to
prior releases, and other GUI libraries. First a little background...

I've used prior versions of GWT in a couple of applications, versions
1.5 and 1.7 I believe. In both cases what we found most lacking in
GWT was an extensive UI widget library so in one case Mosaic was used
and in another ExtGWT. The applications are not your standard web-
site application, they are more like desktop apps redesigned for the
web.

I see that GWT 2.1 has built-in support via Roo for very easily
creating a database app that has the basic UI for seeing and editing
some database tables/etc.

However what if one is creating an application that is not a simple
database view/edit application but rather has lots of business logic
that changes what is in the UI? I.e. the UI is not driven directly by
what is in the database but is driven by business logic that is driven
by both the user's choices and database data?

So I guess my question is how does Roo help if its not the simple use
case?

Regarding UI widgets, has this improved in 2.1? I can't recall
exactly what I was missing but it seemed GWT's UI library was a small
subset of ExtGWT for instance.

However I am worried about starting a new application using ExtGWT as
I suspect that is being developed in a separate track from GWT 2.1 and
lots of things won't work together so I'd not be able to follow a GWT
2.1 design approach.

Please let me know your experiences using 2.1 for non-trivial
applications and your thoughts on using ExtGWT. Is there an extension
GWT UI widget library(s) that does follow the 2.1 design approach?

Kristjan

unread,
Jan 18, 2011, 5:55:50 AM1/18/11
to Google Web Toolkit
Hi... I am also interested in questions below... Anyone with
experience on larger project...

with br
KK

Ben Imp

unread,
Jan 18, 2011, 10:46:00 AM1/18/11
to Google Web Toolkit
Revenge of the Zombie Thread ...

I am currently the owner/maintainer/code monkey behind a fairly
complex GWT application. It is primarily data driven, but there is
plenty of logic in the UI for role-based editing permissions,
visibility, and coordinating different components of the application.
It utilizes a centralized event bus and application model to keep
everything on the same page.

My experience with the widgets has been a pretty good one. The only
thing that was lacking, but has been improved to a significant degree,
was grids. With the new cell widgets, this is _almost_ no longer an
issue. Static headers and sorting are really the only remaining
things desired in these components.

One minor caveat was the inability to directly re-use our business
objects, as that project references DAOs (a horrible design decision,
mind you, but I am stuck with it) and those don't work so well in
JavaScript. We ended up writing a new business layer and translator
objects. Not a small undertaking, but not difficult either.

Also, client side calendar support sucks balls (to use a technical
term) right now. Workable, but not nice.

Overall, I've been pleasantly surprised with GWT. I normally despise
web development, so that statement has a bit of weight behind it. I
was able to apply more traditional Software Engineering principles and
design patterns to the application (to the dismay of the web guy I was
working with) and the environment felt very similar to developing a
standard java swing application. As long as Google supports it
(which, admittedly, is a bit of a worry), I will be happy to use it.
Probably. Well, I might be angry, but that likely wont be GWTs fault.

-Ben
Reply all
Reply to author
Forward
0 new messages