back

by kimi·10y ago·view on hn ↗
We used GWT quite a bit. I am not sure we will in the future, because:

- it's so complex and frustrating. A lot of time you find yourself just fighting GWT and spending an afternoon to get two nested DIVs right.

- it is slow to compile/run and way more verbose than just Java

- when opaque code generators break, it is a royal PITA to understand what goes on

- everything is just over-engineered. Using a CellTable requires way too many steps. Sometimes you just want to display 10 rows and that's it.

- using cells is opaque and leads to way too many little classes

- GWT templating (UiBinder) is very weak - no way for example to define the columns in a CellTable

- styling the UI is a project in itself!

- you cannot use in a shared class some "server" features, even if they are not used at all on the client. E.g., an Address class cannot reference a java.sql.Connection, even if you only use it on the server.

- Has anyone tried to use server Regexps vs client Regexps? or Calendar?

- It's a couple of years we are waiting for GWT v3, and it's always just around the corner.

It had some definite plusses, like dynamic loading, and very efficient JavaScript. And of course you can easily, and safely, refactor.

1 comments
Some of this has been fixed. For example there is a @GwtIncompatible annotation for putting server code in a shared class.

http://www.gwtproject.org/javadoc/latest/com/google/gwt/core...

I know, but at this point it's way too many DTOs and nobody really wants to change that.