GWT Training

Workshop Length

5 days

Objective

Learn to build non-trivial AJAX applications using GWT.

Description

GWT is one of the most exciting web development technologies available today. And GWT is now our most popular workshop.

Smart Soft has been using and teaching GWT since before it's 1.0 release and we were the first to offer GWT training back 2006. We now have a over a dozen GWT applications under our belt and this workshop is based on that experience.

In this workshop we cover all of the nuts and bolts of GWT (the widget library, history support, etc.) but we also place a strong emphasis on GWT best-practices and patterns.

Our public workshops are usually small (2 or 3 students) and tailored to meet the specific needs of each student. So if there are special topics you would like us to cover please let us know.

Prerequisites

Core Java

Pricing

For private, dedicated workshops see our price page. For public, open-enrollment workshops, see the table to the right.

Topics

  • Overview
    • What is GWT?
    • GWT compiler
    • GWT emulator (hosted mode)
    • GWT compared to other web frameworks
    • GWT compared to other AJAX frameworks
    • Pros and cons of GWT
  • Understanding Modules
    • What is a module?
    • Recommended module structure
    • Custom module structure
    • Adapting GWT into an existing web app structure
    • Inheriting modules
  • GWT widget library
    • Basic widgets
      • Label
      • Button
      • TextBox
      • Hyperlink
    • Text widgets
      • Label
      • HTML
      • TextBox
      • Hidden
      • PasswordTextBox
      • TextArea
      • RichTextArea
    • Simple Layouts
      • VerticalPanel
      • HorizontalPanel
      • FlowPanel
      • DockPanel
    • More Layout Panels
      • TabPanel
      • StackPanel (Accordion)
      • SplitPanel
      • DeckPanel
    • Tables and trees
      • Grid
      • FlexTable
      • Tree
    • Lists and checkboxes
      • ListBox
      • RadioButton
      • CheckBox
      • SuggestBox
    • Popups, dialogs and menus
      • PopupPanel
      • DisclosurePanel
      • DialogBox
      • Menu
      • DecoratorPanel
    • Other Panels
      • ScrollPanel
      • HTMLPanel
      • AbsolutePanel
      • FocusPanel
  • Event Handling
    • Understanding Listeners
    • Mouse Events
    • Key Events
    • Click Events
    • Other Events
  • Images
    • Image Widget
    • Prefetching Image
    • Bundling Images
  • Connecting to Data and Back-end Services
    • AJAX Overview
      • Connectivity options
      • Asynchronous callbacks
      • The RequestBuilder class
      • Performance issues
    • GWT RPC
      • Remote and Async Interfaces
      • Servlet Implementation
      • Asynchronous Callbacks
      • Exception Handling
      • GWT Serialization
    • Invoking XML Web Services
    • Invoking JSON Services
  • Creating Web-friendly applications
    • Creating bookmarkable pages
    • History and the back button
  • Performance Concerns
    • Cache versus nocache
    • Cross-Product Compilation
    • Image Bundling
    • Lazy-loading widgets
    • Pre-fetching
    • Obfuscation
  • Miscellaneous API's
    • Cookies
    • Timers
    • Random
    • Window and Location
    • The GWT class
  • Creating Custom Widgets
    • Composites
    • From Scratch using Java
    • Using JavaScript
    • Calendar widget
    • DatePicker widget
  • 3rd Party Widgets
    • MyGWT
    • Ext GWT
    • GWT Widget Library
    • GWT Drag and Drop
    • The GWT Incubator
  • Google Gears
    • Occasionally connected apps
    • Local SQL
    • Local Documents
    • Background Processing
  • JSNI
    • JavaScriptObject
    • Implement a Java native using JavaScript
    • Call from JavaScript into Java
    • Call from Java into JavaScript
    • Sharing Objects between Java and JavaScript
  • Integrating with other technologies
    • GWT with JSP
    • GWT with JSF
    • GWT with Struts
    • Evolving legacy apps to GWT
  • GWT Architecture and Best Practice Patterns
    • MVC
    • MVP
    • Event Aggregator
    • Separated Presentation
    • Observer Synchronization
    • Supervising Controller
    • Passive View
    • Notification
    • Data Binding
  • Miscellaneous
    • Debugging GWT applications
    • Security Issues
    • Write classes that run on both server and client - GWT.isClient
    • Image Bundles
    • Internationalization
    • Using GWT's dictionary to access JavaScript values in host page
    • Unit testing GWT modules
    • GWT and CSS
    • 5 GWT Hidden Gems
    • 5 GWT Pitfalls
  • Advanced Topics
    • Deferred Binding: The Magic GWT.create()
    • Low-level event handling
    • Manipulating the DOM directly
    • Command,DeferredCommand, IncrementalCommand

Upcoming Dates

We don't cancel classes due to low enrollment.

Date Price  
08/09/2010 $3,500 Signup
08/16/2010 $3,500 Signup
08/23/2010 $3,500 Signup
08/30/2010 $3,500 Signup
09/06/2010 $3,500 Signup
09/13/2010 $3,500 Signup
09/20/2010 $3,500 Signup
09/27/2010 $3,500 Signup
10/04/2010 $3,500 Signup
10/11/2010 $3,500 Signup
10/18/2010 $3,500 Signup
10/25/2010 $3,500 Signup
11/01/2010 $3,500 Signup
11/08/2010 $3,500 Signup
11/15/2010 $3,500 Signup
11/22/2010 $3,500 Signup
11/29/2010 $3,500 Signup