Today we are excited to announce the GWT 2.5 Release Candidate. You can skip past all the information and download this release from our main GWT download page. GWT 2.5 comes with new optimizations that boast a 20% code size reduction and a 39% reduction in initial download size of the Showcase application. GWT 2.5 also includes several new features that improve both usability and functionality:
Preview of Super Dev Mode
We have begun work on a replacement for Development Mode that will support more browsers, because it doesn't require any browser plugins. While it is not yet a full replacement, we expect that many developers will already prefer it. Interested early adopters can learn more by reading Introducing Super Dev Mode.
Introducing Elemental
Elemental is an experimental new library for fast, lightweight, and "to the metal" web programming in GWT. It's intended for developers who are comfortable working with the browser API's that JavaScript programmers use. We think it will be an excellent 'thin' library for both mobile and desktop web applications.
Speed and Optimization Improvements
Integration with the Closure Compiler
To further optimize the Javascript generated by GWT, we have integrated Google’s Closure Compiler as an optional backend for the GWT compiler. Yes, there is now comprehensive function and variable inlining, and a graph-coloring-based variable allocator to squeeze even more performance out of your GWT application!
Code Splitter Improvements
The code splitter now has the ability to automatically partition deferred code that is specified by GWT.runAsync() calls. By detecting code fragments that share common functionality and merging them together into a single fragment, the GWT compiler can reduce the size of the leftover fragment that needs to be download after the initial page load. This greatly reduces the latency of loading the first deferred fragment of a GWT application.
ARIA
We’ve added a new accessibility library that has a full coverage of the W3C ARIA standard. In fact, the library is generated from the standard itself! This library makes it easier to correctly set ARIA roles, states, and properties on DOM elements. For more details, have a look at the updated GWT accessibility documentation.
UiBinder and CellWidget Enhancements
GWT 2.5 adds extensions to UiBinder that allow it to support Cell rendering and event handling. In particular, this design enables UiBinder to generate a UiRenderer implementation to assist with rendering SafeHtml, and dispatching events to methods specified by @UiHandler tags. We’ve also introduced the IsRenderable/RenderablePanel types. When used by an application instead of HTMLPanel, they can significantly improve rendering time and reduce the latency of complex UiBinder UIs. In the case of Orkut, for example, it improved startup latency by 20% and rendering speed by 300%. Finally, we’d like to thank the many developers, both inside and outside of Google, that contributed to this release candidate. This release contains over 50 patches written by developers that are not part of the GWT team! We are very grateful for all of your contributions. -Rajeev Dayal and Bhaskar Janakiraman, on behalf of the GWT Team