The most visible feature in the latest release is Speed Tracer, a performance profiler that works with the Chrome Web browser. Speed Tracer is not tied to GWT applications: It can be used to profile and analyze the performance of any Web applications. Speed Tracer is a result of performance profiling instrumentation added to the version of WebKit used by Chrome and, therefore, works only in Chrome.
Separating user interface and program logic is a key feature of almost every Web and UI toolkit. However, as UIs become increasing sophisticated, graphic artists and UI specialists often need to work side-by-side with more code-centric developers. Since graphic designers and developers often use different tools and have different working styles, modern UI toolkits need to facilitate easy interaction between developers and designers. Adobe's Flex framework has provided such features for a long time with an XML-based declarative UI language, and GWT 2.0 adds a similar capability with UiBinder:
To construct your UI, simply mix HTML and widget elements declaratively in a UiBinder XML template — a .ui.xml file. You can then place application logic in an associated .java file... UiBinder makes it much easier to involve web designers more directly into the development workflow. For example, developers can copy/paste from HTML mocks provided by a web designer... Incorporating your own custom widgets into a UiBinder template is exactly the same as using any of the built-in widgets...
An equally important aspect of Web application UIs is their fidelity to design when rendering in various browser environments. To that effect, GWT 2.0 introduces layout panels, an abstraction over CSS layout:
Prior to GWT 2.0, even GWT's widgets were not able to fully abstract away some of the layout headaches that can occur. However, GWT 2.0 introduces layout panels that actually do make it possible to reliably create the layout you want... Layout panels create a predictable constraint-based layout system on top of standard CSS. Because it works with CSS, rather than in spite of it, layout panels continue to work predictably in the presence of custom CSS styles that you might need to include.
Since GWT applications run mostly in the browser, minimizing application download time is an important usability concern. GWT 2.0 introduces code splitting, allowing a GWT application to incrementally download to a browser: