Sunday, May 4, 2008

GWT: Pros & Cons

Pros:
  • Very good perceived UI responsiveness. In a perfect case response times will be even better than on desktop (local Google Gears caching is great).
  • GWT uses component model for UI, so code reuse is easy. And there are many open-source libraries of GWT components too.
  • GWT server-side is stateless. So it is highly scalable "by design". In our case we achieved very good performance per single front-end server instance.
  • You can make your UI similar to desktop GUI with associated sweeties (DND, visual effects & etc)
Cons:
  • GWT is built around Java -> JavaScript compilation. So if you get a big Java codebase, the result js files will be big. So some old browsers will not be able to load and run them
  • GWT app loading time may be quite significant for big codebase. Of course, browser caching helps here
  • GWT renders page content with JavaScript, so indexing of data represented by the app is problematic
  • While there is browser history control inside the library, there are restrictions introduced by HTTP/HTML stack. In general case, you will not be able to reference pages inside GWT app if you use HTTP redirect (for example during authentication)
  • HTML Browsers are not too good in visualization of dynamic HTML (IE is the worst, Safari 3 is the best). So you may need some tricks to show big number of items)
  • GWT components are not easy to debug/implement. They should be cross-browser. And HTML browsers have their own bugs too. So you may need a JS/DHTML guru in your Java team.

1 comment:

Unknown said...

Hi, many people say that GWT have a fast a learning curve. what do you think about it? is it true ?