Google Web Toolkit

By: on July 31, 2007

Writing client javascript is, as far as I am concerned, an intensely irritating, and almost futile exercise. That’s presumably why everyone uses flash (what other explanation can there be?). It almost makes we wish applets had taken off.

GWT to the rescue then – I should love it. And I have played with it for far longer than is warranted by a simple experiment.

There are a few things I think I would want before using this in anger:
– A way of using the restricted API with Eclipse. I’ve become sufficiently addicted it IDEs that waiting for the compiler to tell me just doesn’t cut it anymore.
– A java 5 -> java 1.4 translator I can use on the code, as a pre-processing step, so I can have generics too. Its not like the API differences are going to be relevant here (see above).

I recommend the latest release candidate – treating the ‘Serializable’ interface as equivalent to ‘IsSerializable’ will make the RPC far more convenient, even if the semantics are dubious at best.



  1. vanort says:

    You can restrict Eclipse to Java 1.4 on a per-project basis: go to project properties, Java compiler, enable per-project settings, and change ‘compiler compliance level” to 1.4.

    Also when you run in the hosted mode (simulated, but not compiled into JS), it warns of any unsupported calls (like String.isEmpty…. grrrr…).

    I’ve ended up splitting my GWT project into two parts – the frontend, which also contains RPC server-side stubs, and a separate library that does most of the server-side processing, just so that I can have most of the server-side code compiled as Java 1.5…

    Also I highly recommend GWT Designer (commercial product), which is a cheap Eclipse plugin for WYSIWYG graphical layout. Not the most solid bit of code (I’ve run into a number of bugs while using it), but it quickly paid for itself.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>