Google Web Toolkit (GWT) Development


With the advent of HTML5 and CSS3, developers often find themselves having to implement a lot of client-side JavaScript code. However, JavaScript is more complex than many people think, and it can be unproductive if you have a large amount of JavaScript to write.

Duration: 2 days

Who is it for:

Layout: This course is a mixture of lectures and hands on exercises designed to reinforce the topics learnt


  • Creating Web applications using GWT
  • Using GWT UI widgets and layouts
  • Remote communication using GWT-RPC
  • Using JavaScript Native Interface (JSNI)
  • Creating Ajax-enabled web pages
  • Internationalization


Getting Started with GWT

  • Overview of GWT
  • Examples of GWT in popular web sites
  • GWT support for the Java class library
  • GWT capabilities and benefits

Creating a GWT Application

  • GWT application structure
  • GWT modules
  • The starter entry-point class
  • The starter HTML host page
  • Running GWT applications

Using GWT UI Widgets

  • Overview of GWT widgets
  • Creating GWT widgets
  • Laying out a page
  • Event handling interfaces
  • Implementing event handlers

Remote Communication using GWT-RPC

  • GWT-RPC architecture
  • Asynchronous programming
  • GWT-RPC classes, interfaces, and annotations
  • Object marshalling
  • Implementing the client
  • Handling errors

JavaScript Native Interface (JSNI)

  • Overview of JSNI
  • Invoking a JSNI method
  • Overlaying objects
  • Wrapping third-party libraries

GWT and Ajax

  • Overview of Ajax principles
  • GWT support for Ajax
  • Defining the service interface
  • Implementing the servlet class
  • Configuring the servlet
  • Enabling session state
  • Making a call from the client

Globalization and Localization

  • Overview of internationalization in GWT
  • Bundles
  • Static string internationalization
  • Dynamic string internationalization
  • Dates, times, and currencies

Enquire about this course

"*" indicates required fields

By submitting this form, you agree to our Privacy Policy.
This field is for validation purposes and should be left unchanged.