Google Web Toolkit (GWT) Steve Wargolet. Introduction Desktop client-server applications and their drawbacks. Static-only Web pages Introduction of Web.

Slides:



Advertisements
Similar presentations
3rd Annual Plex/2E Worldwide Users Conference Page based on Title Slide from Slide Layout palette. Design is cacorp Title text for Title or Divider.
Advertisements

1 Graphical User Interface (GUI) Applications Abstract Windowing Toolkit (AWT) Events Handling Applets.
Introduction to Java 2 Programming
ASP.NET Intro An introduction to the languages and communication of an ASP.NET system.
Fawaz Ghali AJAX: Web Programming's Toy.
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
1 CGICGI Common Gateway Interface Server-side Programming Lecture.
CMSC 341 Building Java GUIs. 09/26/2007 CMSC 341 GUI 2 Why Java GUI Development? Course is about Data Structures, not GUIs. We are giving you the opportunity.
(C) 2010 Pearson Education, Inc. All rights reserved. Java™ How to Program, 8/e.
1 GWT Google Web Toolkit Build AJAX apps in the Java language
Google Web Toolkit - Gufran Mohammed. Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications.
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
Igor Gershovich Connected Testing, Inc.
XML on the Web: is it still relevant? O'Neil D. Delpratt.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
VS.NET Syllabus By Peter Huang.
Tutorial 1: Getting Started with Adobe Dreamweaver CS4.
JQuery 10/21. Today jQuery Some cool tools around the web JavaScript Libraries Drawing libraries HTML Frameworks Conventions.
Introduction to Object Oriented Programming. Object Oriented Programming Technique used to develop programs revolving around the real world entities In.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
Applets and Frames CS 21a: Introduction to Computing I First Semester,
Google Web Toolkit An Overview By Shauvik Roy Choudhary.
Contrasting styles of Web UI Development: GWT vs Native JavaScript Roland Schweitzer Weathertop Consulting, LLC Jeremy Malczyk JISAO.
Google Web Toolkit Paul Heiniz, Wolfgang Kluth, Jan Marten, Malte Behrendt Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/111 The slides are licensed.
JavaScript Framework for Rich Apps in Every Browser Maura Wilder Joan Wortman
GWT In-depth Explained by Rohit Ghatol
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
WaveMaker Visual AJAX Studio 4.0 Training Basics: Building Your First Application Designer Basics.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
An Introduction to JavaScript By: John Coliton Tuesday, November 10, 1998 Center for Teaching and Learning.
MCS 270 Spring 2014 Object-Oriented Software Development.
Summing Up Object Oriented Design. Four Major Components: Abstraction modeling real-life entities by essential information only Encapsulation clustering.
GeoGebra on mobile devices GeoGebraMobile, the JavaScript version of GeoGebra. Gabor Ancsin (this man =>)
Creating Applets. What is an applet? What is an applet? A Java program that runs in a web browser. A Java program that runs in a web browser. An applet.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 26 - Java Object-Based Programming Outline 26.1Introduction.
Creating Dynamic Webpages
Ajax and the GWT. Ajax  Asynchronous JavaScript And XML  Technology behind interactive web sites  Provide smoother experience than conventional web.
Compare and Contrast : Blackboard & a Personal Web Page www3.ltu.edu/~s_schneider/howto/faculty.htm You’ll find this presentation (and another) here :
Text INTRODUCTION TO ASP.NET. InterComm Campaign Guidelines CONFIDENTIAL Simply Server side language Simplified page development model Modular, well-factored,
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC Michigan State.
11 User Controls Beginning ASP.NET in C# and VB Chapter 8.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Google Web Toolkit for Mobile Applications Development INGENUITY AT ITS BEST……………….
INTRODUCTION ABOUT DIV Most websites have put their content in multiple columns. Multiple columns are created by using or elements. The div element is.
Technologies For Creating Rich Internet Applications Presenter's name
Google Web Toolkit (GWT) St. Louis Java SIG April 12, 2007 Brad Busch Andrew Prunicki.
Introduction to Object-oriented Programming
ASP.NET Forms.
“Form Ever Follows Function” Louis Henri Sullivan
Google Web Toolkit Tutorial
© 2016, Mike Murach & Associates, Inc.
Application with Cross-Platform GUI
AJAX.
Web App vs Mobile App.
Chap 7. Building Java Graphical User Interfaces
Graphical User Interfaces -- Introduction
VISUAL BASIC.
ASP.NET Module Subtitle.
Constructors, GUI’s(Using Swing) and ActionListner
Client-Server Model: Requesting a Web Page
Advanced GUIs and Graphics
Presentation transcript:

Google Web Toolkit (GWT) Steve Wargolet

Introduction Desktop client-server applications and their drawbacks. Static-only Web pages Introduction of Web applications

What is GWT? Powerful web application development toolkit Write -> Debug/Test -> Optimize -> Run Primarily Java -> JavaScript, HTML, AJAX Cross-Browser support.

The Right Design Pattern Whats the right design pattern for a GWT app? MVC vs. MVP

Client/Server Communication Remote Procedure Calls (RPC) Asynchronous Different mindset 3 Components needed in GWT for RPC Interface for the service (header) Implementation of interface Asynchronous interface for Client

Serialization Needed for RPC Serialization is the process of packaging the contents of an object so that it can (be) moved from one application to another application or stored for later used.

Serialization Must satisfy at least one of the following requirements. It is a primitive type (int, char, boolean, etc.) It is an array of serializable types A class is serializable if it meets these three requirements: It implements either Java Serializable or GWTs IsSerializable interface, either directly, or because it derives from a superclass that does. Its non-final, non-transient instance fields are themselves serializable, and It has a default constructor

The Back Button Problem GWT vs. the Back button. URL doesnt change Handling the problem The History Class Tokens

Compilation One of the most advanced features Optimizations Three output styles Obfuscated Pretty Detailed

Obfuscated

Pretty

Detailed

Optimizations Major selling point of GWT Dead Code Elimination Constant Folding Window.alert(Hello + World) -> $wnd.alert(Hello World) Copy Propagation String Interning Code In-Lining

Optimizations Code splitting

Permutations 24 Total Permutations 6 Browser types and 4 locales

GWT Designer Easily build the GUI Very little CSS experience needed Drag and Drop Design Preview Many included Widgets and Panels

GWT Designer

Panels Panels contain widgets and other panels. Define layout >15 Panels available each with own pros and cons.

Basic Panels Root Panel Top-Most Panel Automatically created HTML element

Basic Panels Absolute Panel

Basic Panels Vertical/Horizontal Panel – Uses HTML table

Basic Panels GridFlex Table

Basic Panels Flow Panel - Div

Basic Panels Dock (Layout) Panel – North/South/East/West/Center

Widgets Many useful widgets Button, textbox, ListBox, … Easily create events

Composite Class Wrap a widget(s) in order to hide their methods Custom Widgets Create your own methods Make existing methods visible Cant modify composite outside of itself Can be reused

Examples

DEMO

Questions

References Remick, J. (2011, January 30). What is a web app? heres our definition. Retrieved from definition/ Google. (2011). Google web toolkit. Retrieved from Kereki, K. F. (2011). Essential gwt building for the web with google web toolkit 2. Boston, MA: Pearson Education, Inc. Gupta, I. (2009). Accelerated gwt, building enterprise google web toolkit applications. Berkeley, CA: Apress. Chaganti, R. (2007). Google web toolkit: Gwt java ajax programming. Birmingham, UK: Packt Pub Ltd.

Title Body