GWT makes writing rich AJAX based web application easy. Its robust set of compatible transfer protocols make it able to communicate effectively with other web applications and servers. You simply create an interface that specifies remote procedures to be called, and GWT will automatically serialize the arguments, invoke the proper methods on the server, and de-serialize the return value for the client. GWT’s Remote Procedure calls are also quite sophisticated, allowing polymorphic class hierarchies, object graph cycles, and exception handling.
You can create re-usable components for use across multiple projects. Once a “Widget”, or UI element is created, you can easily lay them out in Panels. These widgets can easily be moved and attached to a panel in another project with a small amount of work.
Most AJAX applications break when a user clicks the back button. Implementing history into an AJAX application has been a major hurdle for most developers. GWT allows you to easily add history support making your web applications more user-friendly and intuitive.
Google Web Toolkit is a giant leap forward in web application development and will only grow and become more effective.
Google Web Toolkit is an Open-Source product available under the Apache 2 Licence
GWT Showcase with source code: