Introduction to GWT™
Private Training

Course Summary

Google Web Toolkit (GWT) allows Java developers to create Web 2.0-ready Ajax front ends. GWT compiles these Java artifacts into optimized JavaScript for all major browsers. This intensive, hands-on training course provides students a foundation in developing front-end modules with GWT widgets, panels, and events. Students will also learn how to work with images and client bundles as well as how to incorporate history and bookmarks in their Ajax applications. The course continues with a chapter on GWT Utility classes that make it easy to work with cookies, animation, file uploads, and timers. The course ends with coverage of GWT’s remote procedure call mechanism.

Java developers who wish to quickly get to create Ajax application with the Google Web Toolkit.
Course Length
3 Days
Java programming experience is required. Basic knowledge of HTML, CSS, and JavaScript is recommended. Previous experience doing widget-based Form development using events as well as HTTP exposure is beneficial.


Describe the challenges of Ajax programming and how GWT addresses them.

Setup and create projects that use GWT.

Create and configure basic GWT widgets to design user interfaces.

Organize GWT widgets into properly laid out user interfaces using panels.

Write and register event handlers.

Use images and client bundles in GWT.

Deploy and run GWT applications in Hosted and Web Modes.

Incorporate history and bookmarks in your front-ends.

Use GWT Utility classes to handle animation, cookies, file uploads, and more.

Distribute your UI logic to the client and the business logic to the server using GWT RPC.

Detailed Outline

  1. The GWT Concept
    • Dynamic HTML
    • The GWT Solution
    • So What is GWT?
    • The GWT Compiler
    • GWT Design Axioms
    • Getting Started with GWT
    • Creating a GWT Project
    • A GWT Project Structure
    • Executing a GWT Project
    • Using GWT with Legacy Web Apps
    • GWT Module Configuration
    • GWT Module Entry Point
    • Development Mode vs. Web Mode
  2. GWT User Interfaces
    • GWT User Interfaces
    • Creating and Configuring Widgets
    • Widget Heirarchy
    • Widget Behavior
    • Using the RootPanel
    • Basic Styling
    • Some Basic Widgets
  3. Organizing User Interfaces in GWT
    • Laying out Widgets into Panels
    • Various GWT Layouts
    • FlowPanel
    • HorizontalPanel and VerticalPanel
    • The RootPanel
    • DockPanel Layout
    • Grid
    • FlexTable
    • ScrollPanel
    • PopupPanel and DecoratedPopupPanel
    • Dialog Boxes
    • The DisclosurePanel
  4. Event Handling in GWT
    • Event Handling in User Interfaces
    • The GWT Event Model
    • Using Event Handlers
    • Keyboard Events
    • Mouse and Click Events
    • Tab Events
    • Table Cell Events
    • FormPanel Events
  5. Images and Resources
    • Using Images in GWT
    • The GWT Image Widget
    • Image Events
    • Prefetching Images
    • Using ImageBundle and ClientBundle
    • Creating a Client Bundle for Images and Text
    • Using a Client Bundle
    • More on Client Bundles
  6. GWT Utility Classes
    • GWT and Cookies
    • The GWT Random Class
    • Animation in GWT
    • Uploading Files in GWT
    • The GWT Class
    • The GWT Window Class
    • The Window.Location Class
    • The GWT Timer Class
  7. History and Bookmarks in GWT
    • History and Bookmarks in GWT
    • Using Hyperlink Widgets
    • Managing History
    • The History Token
    • Adding New History Items
    • The History Handler
    • Handling Bookmarks
  8. RPC Protocol in GWT
    • Why a New Protocol?
    • RPC Protocol in GWT
    • GWT RPC Basics
    • Steps to RPC: Code Components
    • RPC Components
    • Setting the Servlet Path in a Module
    • Creating an Invocation Target
    • RPC Events
    • No Synchronous RPC in GWT
    • Data Serialization