GWT - Basic

Print the objectives

  Take a beta test

This exam covers the basics of the Google Web Toolkit (GWT), version 1.6.

To pass this exam you will be required to understand:

  • The Java to JavaScript compilation process
  • The subset of the Java language supported by the GWT compiler
  • The difference between hosted mode and compiled mode
  • The package structure and the difference between translatable and non-translatable code
  • The basics of the module configuration file
  • The basic built-in widgets and panels
  • How to implement and call a RPC service through GWT's standard RPC mechanism

The objectives relate to GWT 1.6 Developer's Guide

Notes: The following objectives are not part of this exam, but may be part of a GWT-Intermed exam:

  • Using the command-line tools to create a project
  • Understanding ImageBundle and how to use it
  • Using I18N mechanisms of GWT to make an application easily localizable
  • Building custom widgets
  • Taking care of Security issues
  Released  Beta  Frozen  

Concepts  2 questions

Understand the architecture and principles that drive GWT.
  • Describe the mechanism of the GWT compiler process
  • Explain what benefits can be expected from using Java as a programming language (as opposed to Javascript programming)
  • Describe how cross-browser compatibility is handled
  • Understand the role of each component of GWT:
    • GWT Java-to-JavaScript Compiler
    • GWT Hosted Web Browser
    • JRE emulation library
    • GWT Web UI class library
3 10 5

Java language support  2 questions

Understand the subset of Java that is supported by GWT
  • Identify what level of Java language is supported
  • Describe the caveats that are due to the target language (Javascript), in particular:
    • primitive types (range, wrapping, float vs double)
    • long emulation
    • absence of multithreading
    • limited reflection possibilities
  • List what packages/classes of the standard Java library are emulated
1 7 4

Hosted mode vs web mode  2 questions

  • Describe the purpose of hosted mode
  • Compare and contrast running native Java bytecode with hosted mode vs translated JavaScript in web mode
  • Discuss the differences between the hosted mode browser and a standard browser
  • Explain how hosted mode is used to debug an application
  • Explain how to switch to web mode from the hosted mode browser
  • Discuss why and when to use web mode
0 2 7

Package and file structure  1 question

  • Discuss the differences between translatable (client-side) code, non-translatable (server-side) code, and static files
  • Describe the standard directory and package layout
0 4 1

HTML host page and entry point  1 question

  • Describe hat a GWT entry point is
  • Wirte a Java class that implements a GWT entry point
  • Explain the relationship between GWT code and the HTML host page
  • Write a GWT-enabled HTML host page
0 7 1

Module configuration file  2 questions

  • Describe the purpose of the GWT module file
  • Explain how it is named and where to look for it
  • Write a minimal module file with the following settings:
    • inherited modules
    • starting point
    • stylesheet
0 1 6

Basic UI building  4 questions

  • Compare and contrast GWT UI programming with other GUI technologies such as Swing
  • Discuss the differences between a simple widget and a panel
  • Describe the most basic widgets (Button, TextBox)
  • Write code that creates a Button and attaches a ClicHandler to it
  • Describe the most common panels (HorizontalPanel, VerticalPanel, TabPanel)
  • Write code that creates a simple widget and adds it to a panel
  • Explain what a RootPanel is
  • Write code that obtains the default RootPanel / the RootPanel associated to a HTML element designated by it ID
0 25 5

GWT RPC  4 questions

  • Describe the principles of GWT RPC
  • Explain how the asynchronous nature of RPC affects remote calls
  • Write minimal classes/interfaces to implement a GWT RPC service with a single method:
    • the service interface
    • the service async interface
    • the service implementation
  • Write code that performs the steps required to make an actual RPC call:
    • obtain the local proxy
    • define a callback
    • call the proxy
  • Discuss the concept of serializability and its GWT variant
  • Make a class serializable
  • Modify a GWT module configuration file to activate the embedded application server for testing a GWT RPC service
1 11 6

Exam information

  • 27 minutes
  • 18 questions (107)
  • 75% required
  • +4 √
  • - 10  points
  • 15 day delay
  • status: beta

Exam leader