
Reveling in Constraints - GWT is an end-run around Web development obstacles - Anon84
http://queue.acm.org/detail.cfm?id=1572457
======
bbraasch
I remember when you asked that question at google i/o.

We're using gwt for a reference implementation of itemscript, an open source
json schema project. It does take some time to get it set up right, but when
you do...

GWT is reveling against it's next constraint right now, the support of a
growing developer base, not all within Google.

------
peregrine
I've always been interested in GWT but I have never hear of someone
successfully using it or even preferring it over just writing js.

~~~
pohl
I used it on a large project, and enjoyed using it despite some rough edges.
Most of these rough-edges turned out to be not based upon what GWT is, but how
I was using it.

First, GWT is free-form and it's up to you to have a good internal
architecture for your large, complex application. Fortunately, Ray Ryan gave
an excellent talk at Google I/O this year which addressed all of the
architectural questions that came up during my first project. My team is now
embarking on an even larger project, and we have implemented the pattern
described in Ryan's talk - and it is fantastic in terms of flexibility. We're
very confident that we'll be able to tackle whatever ambitious requirements
come up.

[http://code.google.com/events/io/sessions/GoogleWebToolkitBe...](http://code.google.com/events/io/sessions/GoogleWebToolkitBestPractices.html)

I've made myself watch this talk about 12 times, and each time I keep pulling
out some essential bit of wisdom. Now, there's a lot of stuff in there that
might be obvious to someone who uses other languages/frameworks for making GUI
applications. The HandlerManager eventBus that he's using is really the same
thing as NSNotificationCenter, for example.

But for someone coming from a web or JEE background, this presentation was
pure gold.

The second way in which I was using GWT wrong in my first project was I was
compiling my app each time rather than staying in hosted mode. The reason for
this, however, was because we didn't understand the value of hosted mode early
enough in the project...and so programmers committed changes that made hosted
mode stop working (through missing configuration that made hosted mode need to
connect to an app server in order to debug). Had I known a bit of Ray Ryan's
wisdom, I would have written a single RPC call following the command pattern
and mocked up a dummy service for use in GUI development.

Another minor thing was that we were using Netbeans rather than Eclipse. While
I love Netbeans, and hate Eclipse, the GWT team has made Eclipse a well-worn
path and it's really slick. The GWT4NB plugin gives one the impression that
they need to go through an agonizingly long build process every time they make
a change. Turns out, this was not true.

~~~
peregrine
Thanks a ton for this!! I think I will look into it.

