30
GOOGLE WEB TOOLKIT LOHITH R

Google Web Toolkit

Embed Size (px)

DESCRIPTION

Technical seminar on Google Web Toolkit (GWT) by LOHITH R

Citation preview

Page 1: Google Web Toolkit

GOOGLE WEB TOOLKIT

LOHITH R

Page 2: Google Web Toolkit

WHAT IS GWT?

Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX based web applications easier.

GWT was released on May 16, 2006 at the JavaOne Conference.

LOHITH R GOOGLE WEB TOOLKIT 2

Page 3: Google Web Toolkit

TRADITIONAL WEB APPS VS. AJAX APPS

Infrequent large updates Frequent small updates

LOHITH R GOOGLE WEB TOOLKIT 3

Page 4: Google Web Toolkit

TRADITIONAL WEB APPS Browsers are treated like HTML dumb

terminals Everything is an HTTP round trip +

history entry Every …page…is…so…sluggish… …and…disconnected…that…I… …keep…forgetting…where…I…am

LOHITH R GOOGLE WEB TOOLKIT 4

Page 5: Google Web Toolkit

REAL WORLD EXAMPLES Please do not use your browser’s Back

button !! Don’t click submit button twice, Your

credit card may be charged twice !!

LOHITH R GOOGLE WEB TOOLKIT 5

Page 6: Google Web Toolkit

LOHITH R GOOGLE WEB TOOLKIT 6

Stateless

HTML ViewBrowser

StatefulServer

Stateful JavaScript UI

Browser

StatelessServer

Every User Action

Total new HTML page

Remote procedure call

Data only, not HTML

AJAX

HTML

Events handled locally

THE AJAX ARCHITECTURAL SHIFT

Page 7: Google Web Toolkit

THE AJAX ADVANTAGE

Provide smoother experience than conventional web pages

No need to refresh the entire page Snippets of information are updated as

necessary Technology behind interactive web sites

Personalised Google Page, Gmail, Orkut, Myspace etc

LOHITH R GOOGLE WEB TOOLKIT 7

Page 8: Google Web Toolkit

NON-AJAX: AMAZON

LOHITH R GOOGLE WEB TOOLKIT 8

Page 9: Google Web Toolkit

EXAMPLE: PERSONALISED GOOGLE

LOHITH R GOOGLE WEB TOOLKIT 9

Page 10: Google Web Toolkit

AJAX DISADVANTAGES Browsers support Ajax methods in different

ways: hard to get apps that work the same across all main browsers

« Javascript PhD » Bugs (javascript is a dynamic language)

Security Poor planned investment leads to

Consequences for long time.

LOHITH R GOOGLE WEB TOOLKIT 10

Page 11: Google Web Toolkit

WHAT IS GWT?

Build Ajax apps with Java technology What makes GWT interesting ? GWT is not equal to applets GWT is much more than a compiler

LOHITH R GOOGLE WEB TOOLKIT 11

Page 12: Google Web Toolkit

GWT MANIFEST GWT should help to code stable, efficient and

cross-browser applications GWT should be friendly for developers

Compatible with IDE, support debugging, refactoring, strong typing…

The based line : « First the user, second the developer »

LOHITH R GOOGLE WEB TOOLKIT 12

Page 13: Google Web Toolkit

THE APPROACH

Code in java Compile the java to Javascript

LOHITH R GOOGLE WEB TOOLKIT 13

Page 14: Google Web Toolkit

FRAMEWORK ARCHITECTURE

LOHITH R GOOGLE WEB TOOLKIT 14

Page 15: Google Web Toolkit

GWT WORKING ARCHITECTURE:

LOHITH R GOOGLE WEB TOOLKIT 15

Page 16: Google Web Toolkit

HELLO.JAVA EXAMPLE

LOHITH R GOOGLE WEB TOOLKIT 16

public class Hello implements EntryPoint {

public void onModuleLoad() { // define a Button to add Button b = new Button(

“Say Hello", new ClickListener() {

public void onClick(Widget sender) { Window.alert("Hello World!"); } });

// add the Button // get is a static method of class RootPanel

RootPanel.get("hi").add(b); }}

Page 17: Google Web Toolkit

OUTPUT OF HELLO.JAVA

LOHITH R GOOGLE WEB TOOLKIT 17

Page 18: Google Web Toolkit

FEATURES:

Be productive with your choice of development tools – Refactoring, debugging

Communicate with your server through really simple RPC

Use other JavaScript libraries and native JavaScript code

LOHITH R GOOGLE WEB TOOLKIT 18

Page 19: Google Web Toolkit

CROSS BROWSER, CROSS PLATFORM

LOHITH R GOOGLE WEB TOOLKIT 19

Page 20: Google Web Toolkit

DEFERRED BINDING

LOHITH R GOOGLE WEB TOOLKIT 20

Optimize the JavaScript script downloads based on user profile

Firefox

Opera

Safari

IE6

English French Chinese

FF_EN

OP_EN

SF_EN

IE_EN

FF_FR

OP_FR

SF_FR

IE_FR

FF_ZH

OP_ZH

SF_ZH

IE_ZH

Page 21: Google Web Toolkit

INTERNATIONALIZATION(I18N) Enable applications for international usage Enable localization of applications through

Resource Separation Externalize localizable resource and later bind

them for serving. Handles three I18n Barriers

Another Language – FIGS (French, Italian, German, Spanish)More Characters – CJK ( 中文 , 日本語 , 한국어 )Right Direction – BiDi (Bidirectional Languages as Arabic and Hebrew)

LOHITH R GOOGLE WEB TOOLKIT 21

Page 22: Google Web Toolkit

GWT FASTER, FASTER

LOHITH R GOOGLE WEB TOOLKIT 22

ImageBundle, kind of database for images

From 12 requests to 1 request… Introducted in GWT 1.4

Page 23: Google Web Toolkit

REUSE UI COMPONENTS ACROSS PROJECTS

LOHITH R GOOGLE WEB TOOLKIT 23

Page 24: Google Web Toolkit

RICH UI LIBRARY

LOHITH R GOOGLE WEB TOOLKIT 24

Page 25: Google Web Toolkit

FEATURES:

Easily support the browser's back button and history

Localize applications efficiently Test your code with Junit Extend or contribute - Google Web

Toolkit is open source software

LOHITH R GOOGLE WEB TOOLKIT 25

Page 26: Google Web Toolkit

ADVANTAGES Reuse UI components across projects GWT is supported by all the java IDE :

Eclipse, NetBeans, IntelliJ IDEA, JDeveloper,…

No JavaScript syntax errors Can use complex Java on the client Hosted mode browser GWT server could be stateless Security Brings software engineering to AJAX

LOHITH R GOOGLE WEB TOOLKIT 26

Page 27: Google Web Toolkit

LIMITATIONS

May loose some benefits of JavaScript and XML.

For very small applications JavaScript native applications may run faster. GWT may be overkill.

Currently GWT is only for Java developers.

LOHITH R GOOGLE WEB TOOLKIT 27

Page 28: Google Web Toolkit

GWT : SUMMARY

It is 5 times faster to build a GWT applicationRefactoringDebuggingStateless serverCross-browsersI18NHosted mode

LOHITH R GOOGLE WEB TOOLKIT 28

Page 29: Google Web Toolkit

WHAT COMING NEXT

GWT 1.6 New Project Structure Hosted Mode Enhancements New EventHandler System New Widgets DatePicker, DateBox LazyPanel improves startup

performance

LOHITH R GOOGLE WEB TOOLKIT 29

Page 30: Google Web Toolkit

THANK YOU !!

LOHITH R GOOGLE WEB TOOLKIT 30