The Google Web Toolkit (GWT): Overview & Getting Started



Similar documents
Java with Eclipse: Setup & Getting Started

Android Programming: Installation, Setup, and Getting Started

JHU/EP Server Originals of Slides and Source Code for Examples:

The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework

2011 Marty Hall An Overview of Servlet & JSP Technology Customized Java EE Training:

The Google Web Toolkit (GWT): Declarative Layout with UiBinder Basics

Virtual Machine (VM) For Hadoop Training

What servlets and JSP are all about

Building Web Services with Apache Axis2

Debugging Ajax Pages: Firebug

Android Programming Basics

Web Applications. For live Java training, please see training courses at

Official Android Coding Style Conventions

& JSP Technology Originals of Slides and Source Code for Examples:

Hadoop Streaming coreservlets.com and Dima May coreservlets.com and Dima May

Download and Installation Instructions. Android SDK and Android Development Tools (ADT)

Web-JISIS Reference Manual

Google App Engine f r o r J av a a v a (G ( AE A / E J / )

Hadoop Distributed File System (HDFS) Overview

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

Struts 2 - Practical examples

HBase Key Design coreservlets.com and Dima May coreservlets.com and Dima May

Credits: Some of the slides are based on material adapted from

Installing the Android SDK

System Administration Training Guide. S100 Installation and Site Management

Web Applications. Originals of Slides and Source Code for Examples:

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

NetBeans IDE Field Guide

Advanced Java Client API

Progressive Enhancement With GQuery and GWT. Ray Cromwell

1 Building, Deploying and Testing DPES application

An Overview of Servlet & JSP Technology

Preface. Motivation for this Book

PTC Integrity Eclipse and IBM Rational Development Platform Guide

Apache Pig Joining Data-Sets

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

How To Write An Ria Application

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Tutorial on Basic Android Setup

Android Environment SDK

Map Reduce Workflows

USING STUFFIT DELUXE THE STUFFIT START PAGE CREATING ARCHIVES (COMPRESSED FILES)

For Introduction to Java Programming, 5E By Y. Daniel Liang

Android Environment SDK

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March

Lab 0 (Setting up your Development Environment) Week 1

IBM Business Monitor V8.0 Global monitoring context lab

Client-side Web Engineering From HTML to AJAX

What is OneDrive for Business at University of Greenwich? Accessing OneDrive from Office 365

Jenkins on Windows with StreamBase

Web Application Development

Crystal Reports for Eclipse

HDFS Installation and Shell

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

Getting started with OneDrive

Welcome to the TransPerfect Translations Secure File Transfer Website What is Secure FTP?

Managed Beans II Advanced Features

How to Create an Android Application using Eclipse on Windows 7

Load testing with. WAPT Cloud. Quick Start Guide

IBM Script Portlet for WebSphere Portal Release 1.1

VPN User Guide. For Mac

Generate Android App

Application Security

Android Development Setup [Revision Date: 02/16/11]

Titanium Mobile: How-To

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

Struts Tools Tutorial. Version: M5

Session Tracking Customized Java EE Training:

mystanwell.com Installing Citrix Client Software Information and Business Systems

dotmailer for Salesforce Installation Guide Winter 2015 Version

Getting Started with Android Development

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

IBM Rational Web Developer for WebSphere Software Version 6.0

Cloud Administration Guide for Service Cloud. August 2015 E

Operational Decision Manager Worklight Integration

Web Development with the Eclipse Platform

SelectSurvey.NET Developers Manual

CAS CLOUD WEB USER GUIDE. UAB College of Arts and Science Cloud Storage Service

This tutorial provides detailed instructions to help you download and configure Internet Explorer 6.0 for use with Web Commerce application.

Epidefender Studio Installation notice

HtmlUnit: An Efficient Approach to Testing Web Applications

Download Google Drive to windows 7

Building and Using Web Services With JDeveloper 11g

CSA Software Listing Table of Contents. Both Windows and Mac platforms are supported.

Installing Ruby on Windows XP

Getting Started using the SQuirreL SQL Client

HBase Java Administrative API

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Quick Start Guide Mobile Entrée 4

Performance Testing for Ajax Applications

Cloud Storage Service

Rich Internet Applications

Basic Android Setup Windows Version

Transcription:

2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Overview & Getting Started (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. 2013 Marty Hall & Yaakov Chaikin For live Ajax & GWT training, see training courses at http://courses.coreservlets.com/. Taught by the author of Core Servlets and JSP, More Servlets and JSP, and this tutorial. Available at public venues, or customized versions can be held on-site at your organization. Courses developed and taught by Marty Hall JSF 2, PrimeFaces, servlets/jsp, Ajax, jquery, Android development, Java 7 or 8 programming, custom mix of topics Courses Customized available in any state Java or country. EE Training: Maryland/DC http://courses.coreservlets.com/ area companies can also choose afternoon/evening courses. GWT, Courses Java 7 developed and 8, JSF and 2, PrimeFaces, taught by coreservlets.com HTML5, Servlets, JSP, experts Ajax, (edited jquery, by Spring, Marty) Hibernate, REST, Hadoop, Android. Spring, Hibernate/JPA, GWT, Hadoop, HTML5, RESTful Web Services Developed and taught by well-known Contact author hall@coreservlets.com and developer. At public for details venues or onsite at your location.

Topics in This Section 6 What GWT is all about Motivation, pros, cons Installing GWT Core GWT Eclipse plugin Browser plugin Making a project Using Eclipse plugin Testing process Development mode Production mode Deployed to standard Java server 2013 Marty Hall & Yaakov Chaikin Motivation Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.

Why Web Apps? Downsides to browser-based apps GUI is poor HTML is OK for static documents, but lousy for programs Communication is inefficient HTTP is poor protocol for the way we now use Web apps 8 Why Web Apps? (Continued) So why does everyone want Web apps? Universal access Everyone already has a browser installed Any computer on the network can access content Automatic updates Content comes from server, so is never out of date 9

Why Ajax? Solve three key problems of Web apps Coarse-grained updates Synchronous: you are frozen while waiting for result Extremely limited options for widgets (GUI elements) Still browser based Ajax is about what is the best you can do with what everyone already has in their browser? Real browser-based active content Failed: Java Applets Not universally supported; can t interact with the HTML Serious alternative: Flash/Flex Not preinstalled on all PCs; not available for iphone/ipad Less proven Microsoft Silverlight JavaFX 10 From Bill Amend and foxtrot.com. Universal Press Syndicate. Traditional Web Apps vs. Ajax Apps Traditional Web Apps: Infrequent Large Updates Ajax Apps: Frequent Small Updates Web Page 1. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Web Page. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Web Page 2. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Blah, blah, blah, blah. Yadda, yadda, yadda. Server Server 11

Google Home Page (formerly Google Suggest) 12 Ajax Jobs Indeed.com compiles data from multiple jobs sites 13

14 Ajax Problems that GWT Tries to Address At least two languages are required JavaScript on the client Java or another language on the server Invoking server is cumbersome Even with JSON-RPC, DWR, or jquery support Want more powerful RPC mechanism JavaScript scales poorly to large projects No strong typing Weak object hierarchies Many run-time errors instead of compile-time errors Incompatibility across platforms Can t use preexisting Java libraries or utilities 2013 Marty Hall & Yaakov Chaikin Overview and Pros/Cons Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.

Overview of the Google Web Toolkit (GWT) Big Idea You write both client-side and server-side code in Java Client-side code Uses an API similar to Swing Most basic JDK 1.6 constructs and classes supported Gets compiled into JavaScript that runs in your browser Server-side code Client uses a callback API and specifies data source URL Once you define callback, you are mostly using regular Java method calls with complex arguments and return values Server extends special class and defines regular methods These are not servlet-style doblah methods linked to HTTP Arguments and return values can be» Primitives, strings, arrays, a few java.util collections, Serializable custom classes 16 Sites that Use GWT 17 Google Sites Apache Wave, Google Base, Google Checkout, Google Moderator Google Web Google AdSense Outside Sites gogrid.com, contactoffice.com, blueprint.lombardi.com (free trial), whirled.com, queplix.com, www.entrinsik.com/informer See more at http://goo.gl/8gwf3

Advantages of GWT 18 No JavaScript syntax errors Use a reliable, strongly-typed language (Java) for development and debugging No JavaScript programming at all! Can use complex Java on the client Turned into JavaScript, but you still use String, array, Math class, ArrayList, HashMap, custom classes, etc. Full IDE-based Java support for development and debugging Your client-side code can share data structures with your server-side code Not JSONified equivalents, but the same classes See details on next slide 19 Drawbacks of JSONification Alone Sends state, not behavior, of object So, properties that are derived from other properties will be inconsistent on client if other properties are changed Example: Java Circle class getradius Returns instance variable getarea Returns Math.PI*radius*radius JSONified instance Example Make new Circle(10). Pass to JSONObject, call tostring Result: { "radius": 10.0, "area": 314.15927 } Problem If client-side code changes radius, area doesn t match GWT sends state and behavior

Advantages of GWT (Continued) Can send complex Java types to/from the server Real Java objects gets serialized across network. More powerful and convenient approach than JSON-RPC or DWR. Standalone test environment Can test within Eclipse without installing a new server Support by a major company Supported by the company that popularized Ajax in the first place Support won t go away like perhaps with AjaxTags Active user mailing list (~80 messages daily) 20 Advantages of GWT (Continued) Faster Apps GWT uses deferred binding Sends exactly the right code for the user s circumstances User agent Locale Debug vs. production Network characteristics Quote from Joel Webber, GWT co-creator: The fastest code is that which does not run. Java is not compiled blindly into JavaScript Many advanced compiler design techniques are used to make everything faster E.g., automatic in-lining methods, etc. Watch: http://goo.gl/cwkvz 21

Disadvantages of GWT 22 Less incremental; big learning curve JSP developers can learn AjaxTags in an hour JSF developers can learn JSF 2.0 Ajax support in an hour It takes much longer to get anything running with GWT. JavaScript developers can adapt to new library (e.g., move from jquery to Dojo) relatively easily GWT seems foreign to them Nonstandard approach to HTML & JavaScript Programmatic creation of HTML can make use of standard HTML and CSS tools more difficult. You never explicitly put JavaScript in your HTML. Very powerful in the long run; hard to get used to at first. 23 Disadvantages of GWT (Continued) Not search engine friendly Google and others won t index the dynamic content Only for Java developers Most Ajax environments do JavaScript on the client and have a choice for the server. GWT is based entirely around Java. GWT does support normal Ajax requests, but if you didn t plan to mostly use Java on server, would you choose GWT in the first place? Can t make use of the good features of JavaScript Fast prototyping, functional programming, easy DOM querying and manipulation (e.g., with jquery) Unusual approach Fundamentally different strategy than all other Ajax tools makes evaluation and management buyoff harder

GWT Jobs 24 Alternatives: Rough Cuts 25 Incremental updates to existing project Where you want to add Ajax functionality to Web app Use traditional JavaScript library such as jquery, Prototype/Scriptaculous, Dojo, Ext-JS, YUI, or Google Closure New project Project is hybrid of regular Web app (with page navigation) and Ajax (with dynamic page updates) Java developers: use JSF 2, Struts 2, or Spring MVC 3.NET developers: use ASP.NET Ajax New project Project has complex client-server comms, and/or You want to mimic a desktop app, but via the Web Use GWT

2013 Marty Hall & Yaakov Chaikin Installation and Setup Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. Installation: Overview 27 Install Eclipse Plugin https://developers.google.com/eclipse/docs/getting_started Choose to install the GWT SDK at the same time See details on next slide Install Browser Plugin The first time you run in a browser in development mode, it will prompt you to install browser plugin. See details in section on running in Production Mode (Optional) Install GWT SDK https://developers.google.com/web-toolkit/download Download ZIP file and unzip into folder of your choice Optional because you can get it bundled with Eclipse plugin (Optional) Install Speed Tracer Performance profiler. See top-level download page from first bullet. Not discussed here.

Details: Eclipse Plugin (Eclipse 4.2 Juno) Go to Eclipse Install New Software page Start Eclipse (4.2 Juno is latest version) Help Install New Software Work With Load plugin Enter http://dl.google.com/eclipse/plugin/4.2 https://developers.google.com/eclipse/docs/getting_started has info for other Eclipse versions Press Add, then OK (you can leave name blank) Select the Plugin and SDK options Omit the Android and NDK options Press Next, Finish, Restart Eclipse 28 GWT Designer Idea Optional visually-oriented GWT builder Formerly a commercial product. Purchased from instantiations.com and released for free in 2010 Features Rich drag-and-drop GUI builder Many, many widgets and panels supported Support for GXT (Ext-JS in GWT) Many wizards Project creation RPC Details http://goo.gl/zjldc 29

2013 Marty Hall & Yaakov Chaikin Creating Eclipse Projects Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. 31 General Application Development Approach Create a new project Click g (New Web Application Project) button at top Enter project name and base package name Delete extraneous files Edit auto-generated HTML file war/myapp.html Edit auto-generated Java file src/package.client/myapp.java Test in Development Mode R-click project, Run As Web Application (or Debug As ) Test in Production Mode R-click project, Google GWT Compile Deploy to Web server Copy and rename war folder, deploy to any Java server

32 Making and Testing Sample Project Create a new project Click g (New Web Application Project) button at top Or File New Web Application Project Enter project name and base package name Test in Development Mode R-click project, Run As Web Application Or, click Run arrow at top Development mode means that client-side code runs in Java in special browser plugin, so Eclipse Java debugger can be used, print statements go to Java console, and changes are deployed automatically Test in Production Mode R-click project, Google GWT Compile Or, click red toolbox (GWT Compile) under on toolbar Production mode means that client-side Java code is compiled to JavaScript and then executed in normal browser Creating a New Project Click g at top Or File New Web Application Project Enter info Choose project name and base package name Use GWT 2.5 as SDK Unless you will deploy to Google cloud, it is not required to select Google App Engine Press Finish 33

Resulting Eclipse Project Client-side code must be in client package. Server-side code can also import and use classes in this package (other than main app). All code in this package will eventually get translated into JavaScript. Samples. You can use these files as examples upon which to model your code, but in real projects you will usually delete these samples and replace them with your own files. Starting point client-side code ( main ). You will edit this extensively. If you have done GWT Compile (see later slides on Production Mode), you can find this folder on the file system, copy it, rename it to MyGwtApp (or any other name), and deploy it to a Java-based server. Created the first time you run the app. When you do GWT Compile (see later slides on Production Mode), this folder gets populated with JavaScript files. Starting point HTML file. You will edit this extensively. 34 2013 Marty Hall & Yaakov Chaikin Testing Projects Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.

Installing the Browser Plugin Idea Google created browser plugin that lets your GWT apps run in Java and communicate with Eclipse The first time you use a given browser for GWT, you are prompted to install the plugin Versions exist for Firefox, IE, Safari, and Chrome Steps R-click on project name at left Run As Web Application Or, if you set breakpoints, Debug As Web Application R-click on URL that is shown in tab at bottom, copy Paste this URL into browser Follow browser plugin installation instructions R-click project, Run As Web Application. The URL below pops up in Development Mode tab at bottom. R-click URL, select Open With, and choose a browser. Or, select Copy, then bring up browser and paste into address line. Either way, click blue Download button in browser window and follow instructions. 36 Testing the Project in Development Mode Idea New projects have sample behavior built in Steps R-click project and Run As Web Application Or, press green Run arrow at top Open With or cut/paste URL into browser Once you have installed Google browser plugin, app will run automatically 37 Note: Development mode means running in Java using browser plugin. IDE has embedded version of the Jetty server. Code almost always runs identically once compiled to JavaScript and deployed in a regular browser, but Development mode lets you use the Java console (System.out.println), Eclipse debugger (breakpoints, etc.), and so on. It also means you can change Java code, save the file, and see new result just by clicking Reload in browser.

Making Changes to Project 38 Idea Main Java file to edit: src/package.client.yourapp.java Main HTML file to edit: war/yourapp.html Steps Make a few changes, save, go to browser (already in development mode) and hit Reload to see results. For now, just guess on what changes you can make. Details given in next tutorial section. Java: change some of the labels (don t change widget class names or main method name) HTML: change some of the text (don t remove or rename the JavaScript file; don t change the ids of the two td elements that have ids) Making Changes to Project 39 HTML (war/mygwtapp.html) Changed title of heading From: <h1>web Application Starter Project</h1> To: <h1>auto-created Sample Project</h1> Changed name prompt From: <td >Please enter your name:</td> To: <td >Enter sample name:</td> Java (mypackage.client.mygwtapp.java) Button name (in onmoduleload near top of file) From: final Button sendbutton = new Button("Send"); To: = new Button("Send to Server"); Dialog box title (in onsuccess near bottom of file) From: dialogbox.settext("remote Procedure Call"); To: dialogbox.settext("response from Server");

New Result Note Did not restart development mode. Just saved files, went to browser, and hit the Reload button. 40 Testing a Different Project in Development Mode Before testing a new project, stop Jetty When you run a project in development mode, the Jetty Java server (servlet engine) is automatically started on port 8888. Stop Jetty before starting a new project. Otherwise, you will get error message about port being in use. Stop Jetty by clicking red square at top right of Development Mode tab at bottom of Eclipse. Error message when you try to run a project in development mode when you already ran a previous project without stopping server in between. Click here to terminate the previous Jetty process. 41

42 Testing Project in Production Mode Idea GWT will compile all of your client-side Java code to JavaScript and run in a regular browser with no special plugin Development/debugging use development mode Periodically check code works (and looks!) the same in pure client-side JavaScript (i.e., production mode) In Production Mode, changes to client-side Java code are not automatically reflected when you reload page. Server-side code is still handled by the bundled Jetty server. Later slides will talk about running in an arbitrary Java server. Steps Run 1 st in development mode (so Jetty server is running) Can skip this for simple test apps that have no server code R-click project, Google GWT Compile Enter http://localhost:8888/yourproject.html in a browser Or just http://localhost:8888/ since YourProject.html is default file 43 Testing Project in Production Mode Ran in development mode R-clicked project, Run As Web Application Compiled client-side code to JavaScript R-clicked project, Google GWT Compile Or clicked red toolbox at top Ran in normal browser http://localhost:8888/ MyGwtApp.html Can invoke this URL by deleting?gwt.codesvr= from end of Development Mode URL. If you want to test only client-side code, you don t need to run in development mode first. GWT Compile and then drag war/yourproject.html to browser

44 Testing in Deployment Mode on Normal Java App Server Idea Once you have done GWT Compile, the war folder contains a portable exploded Web app Deploying as exploded app (folder) R-click and Google GWT Compile to build JavaScript files Copy war folder to another location Rename war folder (e.g., mygwtapp) Copy new folder to server s deployment directory URL: http://servername/mygwtapp/ Deploying as zipped app (WAR file) - manually R-click and Google GWT Compile to build JavaScript files Create empty ZIP file (e.g., mygwtapp.zip) Copy contents of war folder into ZIP file Change extension to.war (e.g., mygwtapp.war) Copy WAR file to server s deployment directory URL: http://servername/mygwtapp/ Deploying the Project to Normal Java App Server (Continued) Deploying as zipped app (WAR file) - Eclipse R-click and Google GWT Compile to build JavaScript files R-click on the war directory in Eclipse, choose Export Choose Archive File and click Next Select only files/folder under the war folder, but not the war folder itself & select all the files on the right You can give the location of your server s autodeploy directory here. Make sure the file extension is.war NOT.zip (Eclipse will fill in.zip automatically.) Make sure Create only selected directories is selected! The other option is the default one. URL: http://servername/mygwtapp 45

Deploying the Project to Normal Java App Server: Results 46 Installing GWT Developer Plugin on Unsupported Firefox Versions Problem: GWT Developer Plugin sometimes lags behind Firefox releases Especially when Mozilla starts releasing new major version every 1-2 months (as with FF 6 and FF 7) As of early 2013, Firefox 16 is supported Solution: Install older/supported version side-by-side with newer To download earlier versions of Firefox, go to: ftp://archive.mozilla.org/pub/mozilla.org/firefox/releases/ 47

Installing GWT Developer Plugin on Unsupported Firefox Versions 48 Important! Before install, go to current FF Go to Options Advanced Update and uncheck Firefox for Automatically check for updates Installing earlier version of Firefox Setup Type choose Custom Choose Install Location choose non-default location E.g., C:\Program Files (x86)\mozilla Firefox 6\ instead of leaving it as C:\Program Files (x86)\mozilla Firefox\ Summary uncheck Use Firefox as my default browser On first launch, do not make this your default browser when it asks & tell it not to ask you anymore Documentation 49 GWT overview page Good starting point with links to tutorials and docs https://developers.google.com/web-toolkit/overview Tutorials Includes Getting Started and many specialized topics https://developers.google.com/web-toolkit/doc/latest/tutorial/ Reference guide Includes JavaDoc API, guide to which Java features are supported on client side, and widget library reference https://developers.google.com/web-toolkit/doc/latest/refguide Developer Forum Pretty active with experts to answer questions http://groups.google.com/group/google-web-toolkit

Documentation (Continued) Books See https://developers.google.com/web-toolkit/books Very few are worth it as most are severely out of date Most GWT learning is through GWT Web site 50 2013 Marty Hall & Yaakov Chaikin Wrap-Up Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.

Summary 52 Setup Install Eclipse plugin https://developers.google.com/eclipse/docs/getting_started This will install GWT 2.5 at the same time Bookmark https://developers.google.com/web-toolkit/overview Create Eclipse project Press g button at top Or File New Web Application Project Test Test in development mode (always) R-click Run As Web Application Or click Run button at top The first time you do this, you have to install browser plugin Test in production mode (occasionally) R-click Google GWT Compile Test in deployment mode on normal Java server (at end) Copy/rename war folder or put contents into.war file 2013 Marty Hall & Yaakov Chaikin Questions? JSF 2, PrimeFaces, Java 7 or 8, Ajax, jquery, Hadoop, RESTful Web Services, Android, HTML5, Spring, Hibernate, Servlets, JSP, GWT, and other Java EE training. Customized Java EE Training: http://courses.coreservlets.com/ GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.