| Course Code: |
IN 1064 |
| Course Abstract: |
This course will be ready in Q1 2010. This course provides instructor-led discussions as well as hands-on experience using the Google Web Toolkit (GWT). Attendees will be exposed to the many user interface components that make up this toolkit while gaining practical experience coding in Java and creating powerful front-end applications. Participants will build beginning to complex front-end layouts that use custom-created widgets while learning to integrate solutions with the server and server-side APIs such as JSPs, Spring MVC, Hibernate, Struts 2 and more. Emphasis is placed on the Eclipse development environment; however other helpful developer tools are examined such as Firebug, JUnit and more. Participants will learn how to integrate with client-side JavaScript libraries like jQuery or ExtJS and use the JavaScript native interface to access browser-related features from within Java code. Participants will create applications that utilize GWT RPC mechanisms and advanced UI components such as FlexTables, Trees, and more. This course is approximately 50% instructor-led discussions and 50% hands-on experience. |
| Audience: |
Primary audience: Developers interested in creating dynamic, interactive front-end solutions Secondary: Server-side developers, other programmers, and designers interested in learning about GWT and what it has to offer.
|
| Duration: |
3 days |
| Learning Outcomes: |
Upon completion of this course, the participant will be able to:
> Incorporate numerous toolkit widgets to build visually appealing, dynamic front-end applications > Create Ajax-based interactive solutions incorporating GWT client-server RPC techniques > Learn how to lay out complex solutions using GWT Panels, and CSS > Introduce JavaScript functionality using GWT's JavaScript Native Interface > Build advanced user interface components including custom components > Integrate backend frameworks such as Spring and Hibernate > Deploy GWT-based applications to a server and optimize them for performance |
| Course Topics: |
Introducing GWT Modern Front-End Architecture JavaScript, CSS, & HTML: Creating Layered Architectures Web 2.0 and User Interactivity Introducing Ajax Why Use GWT? Introducing Google Web Toolkit Setting Up the Development Environment Using Eclipse and GWT Creating Your First GWT Application Exercise
Creating GWT Applications Understanding Hosted vs. Web Mode GWT Module Structure GWT UI Components Form Widgets FormPanel Buttons Labels, Textboxes Exercise TextAreas RadioButtons and CheckBoxes Configuring Widgets ListBoxes Event Handling in GWT Implementing Listeners Introducing Firebug Styling Solutions Using CSS Debugging Exercise
GWT Client-Server Communication Server Integration Integrating with Spring MVC, Struts 2, JSF Exercise Data Exchange using GWT RPC Exercise JavaScript Native Interface (JSNI) Working with the DOM from within Java Code Internationalization Using Cooking and Timers Exercise
Containers and Layouts Using Panels Creating Complex Layouts RootPanel CellPanels, Vertical/Horizontal Panels FlowPanels HTMLPanels TabPanels, SplitPanels, StackPanels Widget Placement with AbsolutePanels Handling Mouse Events and Using Focus Panels Working with Images Image Bundles Exercise
Advanced UI Components SuggestBoxes Creating Menus Using Tree Widgets Grid Working with Flex Tables Exercise Integrating with Hibernate Creating Custom Components Building Composite Widgets Exercise What is GXT? An Ext-GWT Example Exercise Communication using JSON Cross-Domain Requests and JSON-P Exercise
Deployment and Best Practices Hosted Development vs. Web Mode Unit Testing and JUnit Same-origin policy and Ajax Limitations Java Limitations Java Emulation Performance Tips Caching Issues Security Concerns |
| Prerequisites: |
Required: Java Programming Fundamentals Recommended: Knowledge of basic JavaScript, CSS, and HTML |