• Decrease font size
  • Default font           size
  • Increase font size

Comprehensive Google Web Toolkit

Print E-mail

This comprehensive GWT training course combines our introductory and advanced Google Web Toolkit courses to provide a solid week of detailed hands-on GWT training.

Course Objectives

  • Understand the challenges of Ajax programming and how GWT addresses them.
  • Learn about GWT infrastructure, projects and code artifacts.
  • Learn to use GWT widgets, panels, images, events, listeners to build Ajax forms.
  • Learn to use GWT Utility and framework classes.
  • Learn to incorporate history and bookmarks in your front-ends.
  • Learn about GWT's RPC protocol and how to use it.
  • Learn to create and use modules in GWT, own or external.
  • Learn to use advanced panels, more widgets, trees in GWT.
  • Learn to use RichTextArea for styled editing in GWT.
  • Learn to use CSS styling of GWT Widgets.
  • Learn to develop own composite widgets.
  • Learn to develop and execute tests and benchmarks in GWT.
  • Discover the GWT's Java Emulator, its capabilities and limitations.
  • Learn to use GWT's DOM management.
  • Learn to use JSON within GWT.
  • Learn to retrieve and show external URLs in GWT forms.
  • Learn the mechanics of integrating Javascript with Java.
  • Learn advanced connectivity mechanisms, polling and related concepts.
  • Learn some best practices on performance and avoiding pit falls.

Course Prerequisites

Experience in the following areas is required:

  • Fair knowledge of Java programming language
  • Basic understanding HTML, CSS, Javascript and their relationships

Experience in the following areas would be beneficial.

  • Some foundation in widget-based Form development using events
  • Basic knowledge of HTTP protocol

Course Outline

Ajax and GWT

    • Ajax Emergence
    • Ajax Challenges
    • Motivations behind GWT
    • GWT Solution
    • What is GWT?

Getting Started with GWT

    • Getting Started with GWT
    • Setup GWT Environment
    • Creating A Project
    • A GWT Project Structure
    • Hosted versus Web Mode

GWT User Interfaces

    • GWT User Interfaces
      • A Basic User Interface
    • GWT Module Entry Point
    • Creating and Configuring Widgets
    • Laying out your Widgets
    • Using the RootPanel
    • Basic Styling
    • Modifying GWT Code

Core GWT Widgets

    • GWT Widgets
    • Button Widget
    • GWT Hyperlinks
    • Text Widgets
    • Selection Widgets
    • Listing Widgets
    • Widget Behavior
    • Configuring Widgets

Organizing User Interfaces in GWT

    • GWT Layouts
    • Organize Widgets into Panels
    • Various GWT Layouts
    • FlowingPanel Layout
    • DockingPanel Layout
    • Using FlexTable
    • Using Grid
    • Using PopupPanel
    • Dialog Boxes
    • The Disclosure Panel

Event Handling in GWT

    • Event Handling in GWT
    • GWT Event Model
    • Using Event Listeners
    • Listener Adapters
    • Types of Events
    • Keyboard Events
    • Mouse Events
    • Tab Events
    • Table Cell Events
    • Browser Differences

Using Images in GWT

    • Using Images in GWT
    • GWT Image Widget
    • Prefetching Images
    • Using Image Bundles

Executing Hosted vs. Web Mode in GWT

    • Hosted versus Web Mode in GWT
    • Page Loading Steps in Hosted Mode
    • Running in Web Mode
    • GWT Generated Files
    • Obfuscation in GWT Generated Files
    • GWT Deployment

History and Bookmarks in GWT

    • History and Bookmarks in GWT Ajax
    • Creating Bookmarked Pages
    • The History Token
    • The History Listener
    • Reacting to Back and Forward buttons

The Film Rental Project Domain in GWT

    • Film Rental Project in GWT

GWT Utility Classes

    • GWT Utility Classes
    • GWT Cookies
    • GWT Random Class
    • Animation in GWT
    • Uploading Files in GWT
    • The GWT class
    • The GWT Window class
    • The GWT Location class
    • The GWT Timer class

RPC Protocol in GWT

    • RPC Protocol in GWT
    • Why a New Protocol?
    • Placing Code Components
    • RemoteService Interface
    • RemoteServiceServlet Interface
    • The AsyncCallback Interface
    • RPC Events

Using Modules in GWT

    • GWT Modules
    • Module Structure
    • Module Paths and Resources
    • Use External Modules
    • Modularization within GWT
    • Modularizing An Application
    • Setting paths and resources in GWT Modules

More on GWT User Interfaces

    • More on GWT User Interfaces
    • Using PushButton
    • Using DecoratorPanel
    • Using AbsolutePanel
    • HTMLPanel
    • FocusPanel
    • Split Panels
    • Using StackPanel
    • Using TabPanel
    • Using DeckPanel
    • Using Menus in GWT
    • Using a Tree in GWT
    • Using SuggestBox
    • GWT RichTextArea Editing

Styling with CSS in GWT

    • Syling with CSS in GWT
    • Providing Syles to Widgets
    • Dependent Syles in Widgets

Creating Composite GWT Widgets

    • Composite GWT Widgets
    • Develop Composite Widgets
    • Using Composite Widgets

Testing and Debugging GWT modules in GWT

    • Testing and Debugging GWT modules
    • JUnit Testing Concepts
    • GWT Unit Testing with GWTTestCase
    • Benchmarking with GWT
    • Benchmarking own Data Services
    • GWT System Testing
    • Testing Practices for GWT

GWT Java Emulation

    • Java Emulation in GWT
    • Java Language Subset in GWT
    • Java Library Support in GWT
    • Available Java Classes and Features in GWT
    • Restrications on Java in GWT

Advanced GWT Connectivity

    • Advanced GWT Connectivity
    • Stateful and Stateless Servers
    • GWT Serialization
    • Using Stateful Servers
    • Handle Exceptions

Client-Side RPC Architecture in GWT

    • Client-Side RPC Architecture
    • Client-Side Pull versus Push
    • Polling Protocols

More Server Integration Options in GWT

    • More Server Integration Options in GWT
    • Manipulate XML DOM
    • Use and Parse JSON
    • JSON Types in GWT
    • Using JSONP
    • Making HTTP Requests

GWT JavaScript Native Interface

    • GWT JavaScript Native Interface
    • Invoke JSNI from Java
    • Invoke Javascript from within Java
    • Java Callback from external Javascript
    • Use Javasript Objects in Java

 

GWT Best Practices

    • Security Issues
    • Performance Concerns
    • The GWT IncrementalCommand class
    • Caching in GWT
    • GWT Design Considerations
    • GWT Pitfalls and Issues