5 ms·
I wouldn't have chosen GWT myself but I am working on a project with it and I have to admit it's very good. You do have to be able to stand Java, of course. Th
by allertonm 16y ago
I wouldn't have chosen GWT myself but I am working on a project with it and I have to admit it's very good.
You do have to be able to stand Java, of course. The upside of the use of Java is that when you're dealing with a large codebase the kind of tooling you get from Eclipse or IntelliJ is a big timesaver when refactoring. Things like CssResources and UiBinders are also very nice to work with, and do really help with keeping logic and presentation separate.
Some would claim that GWT is a bit of a crutch for enterprisey developers who "don't like working in the browser" but I'd say it's more for people who like working in the browser but don't much like Javascript. (FWIW I like Javascript, at least The Good Parts.) You do at the end of the day have to have a good understanding of how the browser works and what it is and is not good at to get the most out of it.
The biggest downsides for me are, in no particular order...
1) Very slow compiler when generating javascript. GWT compilation is the biggest chunk of our build time but not the majority of our code.
2) For a large application, load time in hosted mode is still pretty slow. Also hosted mode has some funky performance characteristics especially around serialization.
3) It kind of annoys me seeing lots of code working around a lack of reflection in GWT's version of Java, when the underlying Javascript runtime is completely dynamic and reflective.
I do have a lingering concern that GWT might be exposed to similar patent risks as Android, since it subsets Java and could not be considered a "compliant" java implementation. Not the same patents as in the Android case, obviously - since they were mostly VM related - but who knows what else Sun had in their cupboard.
- gthank 16y agoWhile I agree that it's not a good idea to hand GWT to a bunch of <snip>enterprisey developers who "don't like working in the browser"</snip>, I think that's exactly how it gets used by a lot of companies (based on the questions I run into on the web).
- discreteevent 16y agoJava is not ideal, we all know that, it just hasn't caught up (in fact that was true even when it first came out). But you can treat it as a target (like assembly) that is made for an IDE to read and write. Then just work with the IDE for a while you will find that a lot of the time the IDE provides the functionality of a more productive language (it even helps you to read the code). After a while the language starts to dissapear a bit and you can concentrate on the job itself, which is what it should be all about. I know this (language choice etc) is a contentious area so let me say that this is my personal experience and I have no way of knowing whether it would be true for anyone else.