I’ve recently come across a few great resources on how to speed up client-side GWT:
GWT: Developing a complex, high-performance app with Google Web Toolkit”
Describes interesting tricks for making your application faster. One of the main challenges for them was to make everything work with IE 6. Interesting points were:
- DeferredCommand can be used to execute code after the current invocation. Very handy in event handlers where performing complex user interface changes can lead to weird behavior, such as the “bleeding through” of return keys, etc. This may well have been the most important take-away of the talk for me (as I am currently not too concerned about performance in my projects).
- Programmatic manipulation of styles via widget.getElement().getStyle() is slow, using CSS is faster.
and Speedier GWT with Server Side RPC Serialization”
It is a common technique to make the first remote procedure call (RPC) directly after the page has loaded. To improve performance, one can simulate that RPC and embed the result inside the web page on the server. The previous talk mentioned this trick which lead me to investigate further and find this article.
Bundles and Linkers in Google Web Toolkit”
This talk goes further into details how data can be served more compactly. It was linked from the previous article.