
GWT 2.0: So good it's ridiculous - mindaugas
http://timepedia.blogspot.com/2009/12/gwt-20-so-good-its-ridiculous.html
======
kls
While, GWT is a very impressive feat of technical accomplishment. It really
misses the mark, the problem with it as well as most of the old desktop
development (languages, toolkits, frameworks) is that it favored the developer
over the designer. This is one of the reasons for the popularity of the web,
it allowed the designer (and the want-to-be designer) the ability to design
and build interfaces without having to know a turring complete languages.

When I first started looking to do more dynamic web applications, I was
convinced that toolkits like GWT and Echo2 where they way to go but I was
reasoning from a Java developers perspective. It makes the job of a Java
developer easier, while adding complexity to the task of the designer. This is
all well and good when you have a 1-5 man team of experienced Java developers.

I now prefer to use Java (Ruby, C, whatever) to write business logic services
on the server and use HTML, css and JavaScript on the client. by writing a UI
controller in JavaScript that gets embedded into the HTML file via a script
tag it gives very clean separation of HTML, CSS and code this allows a large
team to work very productively. Designers work in HTML, CSS. UX developers
work in pure JavaScript and business domain developers work in their language
of choice.

This coupled with a CMS has allowed us to abandon the kludge of a server side
document scripting language (asp, jsp, php) entirely and significantly reduced
the complexity of delivering a web application.

~~~
donjaime_hn
You should look at UiBinder (part of GWT 2.0). You write HTML and CSS, stick
it into a UIBinder template. And in 5 minutes you can take a designed mock and
have it bound to a Java class in a very efficient way.

You get things like CSS namespacing and obfuscation for free with this
approach too.

~~~
kls
Thanks, I will take another look at it.

------
jonmc12
GWT always sounds interesting, but I am underwhelmed by the application
gallery. Every app looks like a draft version of gmail, google maps or google
wave. Any links to impressive interfaces (non google-built)?

~~~
johnyzee
We build TeamPostgreSQL with GWT. It is a PostgreSQL web administration
package. Feel free to to take a look:

<http://www.teampostgresql.com>

The download package comes with a bundled sample database, so you can take it
for a spin too. Feedback welcome.

~~~
jawngee
I have some feedback:

\- I was totally confused how to launch this \- I couldn't discern any benefit
of this over phpPgAdmin minus the nicely done interface \- I couldn't discern
any benefit of this over Aqua Data Studio, NaviCat, et al. sans pricing.

I'm really curious why you chose to do this as a web app. If the benefit is to
give "managers" and others access to the database to run reporting, where is
the graphing, pivot table, etc support? If it's to give other developers
access, your desktop counterparts (specifically Aqua Data Studio) provide
tools you are lacking (code completion, diagramming). Granted there is a
sizable price difference, which could be a selling point, but again phpPgAdmin
does all that you do and is free and extensible because it's OSS.

------
rbanffy
Those who like statc-typing will always find it ridiculously great. Those used
to dynamic-typing will find the idea of writing JavaScript in Java ridiculous,
but not great.

There is wisdom in the middle.

~~~
jimbokun
"Those who like static-typing will always find it ridiculously great."

People who actually like static-typing probably don't like Java, but something
more like Haskell.

~~~
rbanffy
Let's call Haskell "extremely statically typed"

------
richcollins
How could trading the expressiveness of JS for the expressiveness of Java
without the commensurate increase in performance be "So good it's ridiculous".

~~~
donjaime_hn
You clearly didn't RTFA.

I'll give you my personal reasons for liking GWT in a few short bullets.

1\. Better tooling - IDE refactoring when I need to change things. Red
squigglies when I make a typo or reference something thats not there. A real
debugger with breakpoints for finding bugs. Auto completion and auto style
formatting so I dont have to type so goddamn much.

2\. Compiler optimizations - Your code gets faster and smaller. Write
maintainable code, have it turned into performant code.

3\. API's and libraries - easy client server RPC, discoverable wrappers for
the DOM APIs. Reuseable widgets that have predictable structure/side effects!

4\. Maintainable code base - If you worked with more than 4 engineers on a
non-trivial product, you would understand the appeal of a Java code base.
UIBinder lets me not worry about CSS name collisions.

I would go on, but you seem like a TLDR type of person, so it would probably
be a waste of my time.

~~~
mikedouglas
Was the personal attack at the end necessary?

~~~
donjaime_hn
Probably not. I sometimes get annoyed when people, faced with the choice of
gaining some domain knowledge before forming an opinion, decide to instead
just be loud about things they know little about.

Personal attacks are lame though, even on the internet. Thanks for calling me
out on it :).

I apologize.

------
rgrieselhuber
Pardon my ignorance but is there a clean way to run GWT with non-JVM server
side languages?

~~~
ivenkys
Define clean.

~~~
rgrieselhuber
Doesn't require some third-party (which tend to lag behind the latest
versions) library to get it working and I can write normal server side code in
Python, etc.

~~~
jauco
You can run a REST server and make your callbacks using JSON. That's what I
did a while back. PHP could be used without problems.

~~~
mmastrac
I've done the same in the past (Python backend). I'll add one more suggestion
on top of that. You can create JSNI bindings for all of the JSON RPC objects
with GWT to get compile-time API checks that disappear entirely from the
output.

------
geekles
The problem with GWT is java, which makes it meh.

~~~
flaub
I've been working on a .NET clone of GWT as a side-project for awhile. It
doesn't have a widget library yet, but it does have web-mode and development-
mode. It works by decompiling MSIL which means you can use any .NET language
you want.

<http://github.com/flaub/DotWeb>

Not much in terms of demos, but the core technology is all pretty much done.
Plugins for FireFox (NPAPI-based) and IE work so that you can set breakpoints
in Visual Studio. Web-mode does a decent job of optimizing right now because
it does method dependency analysis.

~~~
DenisM
Yo should make a post about it. Make sure to mention how it relates to similar
Microsoft's own efforts.

------
ivenkys
Yes GWT 2.0 is impressive but haven;t we had 3 submissions on that in the last
week.

Surely nothing new is being said here.

~~~
sp332
Yeah, what we really need is more of those late-breaking Erlang articles!

~~~
ivenkys
No, we don't and i never said we did - but articles summarising the points
that are already present as summaries in the GWT 2.0 release notes definitely
do not add anything to the discourse.

