GWT is a development toolkit for building and optimizing complex browser-based applications. Its goal is to enable productive development of high-performance web applications without the developer having to be an expert in browser quirks, XMLHttpRequest, and JavaScript.
The GWT SDK provides a set of core Java APIs and Widgets. These allow you to write AJAX applications in Java and then compile the source to highly optimized JavaScript that runs across all browsers, including mobile browsers for Android and the iPhone. Constructing AJAX applications in this manner is more productive thanks to a higher level of abstraction on top of common concepts like DOM manipulation and XHR communication. This presentation explores the different components that comprise the GWT Java to JavaScript compiler, explores the internal representations, the transformations and optimizations that it performs and the JavaScript code layout. It presents the challenges and ideas involved in moving the compiler forward to cope with increasingly complex applications.