What is GWT?

Google Web Toolkit (GWT) is an open source java based web development framework that allows developers to easily create AJAX based applications using Java.

Why GWT?
• Be a Java expert, not JavaScript:
Best features of GWT are that you can enjoy to code in Java, not in Javascript. If you have knowledge of java, then no need to learn for html/javascript to design/develop your application.
• Simple RPC(Remote Procedure Calls) mechanism:
GWT has its own simple mechanism for remote procedure calls between the browser and the server. No need to define complex XML or JSON data formats for requests and responses. Just write simple function for the server, call the function (still in Java) from the client code, and all of the marshalling, unmarshalling, network communication, etc. is done for you.
• Auto generation of Optimized JavaScript for each browser:
GWT will compile all java code and create “Obfuscated and Compact” javascript.
We don’t require writing any javaScript code, it will generate different javascript for each individual browser, so we don’t have to worry about browser dependent javascript.
• Can create browser specific javascript also:
The GWT compiler can also create a JavaScript file for specific browser by defining it in bootstrap file (*.gwt.xml).
• Localization Support:
To add localization support, we need to just create properties files with locale suffixes, access them by key through a GWT interface, and the locale-specific string will be used.
• Image bundles:
We can define image bundles and GWT compiler will package a number of images into a single file which is accessed through a Java object. This reduces the number of network round trips by getting all images for your application in a single file download.
• External javascript support via JSNI(JavaScript Native Interface).
If we have our own javascript ready, then we can use it in GWT application via GWT feature JSNI(JavaScript Native Interface).
Same way using JSNI, we can explore our GWT code as javascript function, to be useful in other application.

→ It is very simple to develop a web application with GWT, it is as simple as developing a Windows application with VB and it supports MDI apps too.
→ Cuts cost: Building a GWT application is 5 times faster than building a J2EE application with html.
→ offline compatible: A GWT application doesn’t need a server (using Google Gears)
→ We can easily integrate other google APIs, e.g. Google Maps, Google Charts.