Top Banner
2008.5.17 馮馮馮
44

GWT: Our Experiences

Nov 02, 2014

Download

Business

Yenwen Feng

Introduction and our experience on using GWT
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GWT: Our Experiences

2008.5.17 馮彥文

Page 2: GWT: Our Experiences

About Me 馮彥文 a.k.a Tempo

Twitter: tempofeng Blog: run, tempo, run (google: tempo) Liquable Inc: [email protected]

活動 Happyweb: http://happyweb.tw Java User Group: http://www.javaworld.com.tw

Page 3: GWT: Our Experiences

Agenda GWT & Features Communicate With Others Systems,

Frameworks Pitfalls

Page 4: GWT: Our Experiences

Google Web Toolkit

Page 5: GWT: Our Experiences

Writing AJAX Applications in

Java

Page 6: GWT: Our Experiences

CSS

GWT Class Library

JavaScriptGWT

Compiler

Java Source Code

Page 7: GWT: Our Experiences

Module.xml

Page 8: GWT: Our Experiences

EntryPoint

Page 9: GWT: Our Experiences

HTML

Page 10: GWT: Our Experiences

Hello World Demo

Page 11: GWT: Our Experiences

Swing, SWT Like Programming

Model

Page 12: GWT: Our Experiences

Components,Containers,Events, …

Page 13: GWT: Our Experiences

Composite Widget

Page 14: GWT: Our Experiences
Page 15: GWT: Our Experiences

Widget Demo

Page 16: GWT: Our Experiences

Hosted Mode /No-Server Mode

Page 17: GWT: Our Experiences

No-Server Mode Demo

Page 18: GWT: Our Experiences

Scalability

Page 19: GWT: Our Experiences

Stateless Servers,

Stateful Clients

Page 20: GWT: Our Experiences

Business Logic as Well

Page 21: GWT: Our Experiences

History Management

Page 22: GWT: Our Experiences

History Demo

Page 23: GWT: Our Experiences

JUnit Integration

Page 24: GWT: Our Experiences

Open Source(Apache 2.0 License)

Page 25: GWT: Our Experiences

Comparison DWR

Best for communicating with Java server, No UI components

Dojo Hard, less document but powerful

Ext-js Nice UI, less document, license issue

Jquery No UI components

Page 26: GWT: Our Experiences

Communication With Others Systems,

Frameworks

Page 27: GWT: Our Experiences

GWT Scripts Can Be Used as

XSS

Page 28: GWT: Our Experiences

Client

GWT-RPC Server 2

WEB Server

GWT-RPC Server 1

Page 29: GWT: Our Experiences

RPC HTTP

RequestBuilder GWT-RPC

Easy for Java servers JSON Rest (XML)

Page 30: GWT: Our Experiences

JavaScripts JavaScript Native Interface (JSNI) GWT-API-Interop

http://code.google.com/p/gwt-api-interop/

Page 31: GWT: Our Experiences

Web Pages gwt-params

Page 32: GWT: Our Experiences

Pitfalls

Page 33: GWT: Our Experiences

Value Objects

Page 34: GWT: Our Experiences

Hibernate Obj (PersistList,

…)

Value Obj

Value Obj(JavaScript)

GWT JavaScript

Tranform

GWT-RPC

Use

Java

JavaScript

Page 35: GWT: Our Experiences

Value Objects Same as other serialization framework Data-binding

Hibernate4get http://hibernate4gwt.sourceforge.net/

XSTM http://www.xstm.net/

Page 36: GWT: Our Experiences

SEO? Decorate output page, don’t cloak

Page 37: GWT: Our Experiences
Page 38: GWT: Our Experiences

SEO? Based on GWT Output

Page 39: GWT: Our Experiences

Project Structure

Gwt-maven http://code.google.com/p/gwt-maven/

Copy generated JavaScript to src in webapp

Page 40: GWT: Our Experiences

Page Layout

Page 41: GWT: Our Experiences

VerticalContainer, HorizontalContain

er Are Using Tables

Page 42: GWT: Our Experiences

JDK 1.4 Only For client codes only Wait for GWT 1.5

Page 43: GWT: Our Experiences

Missing Classes Reflection GWTx

http://code.google.com/p/gwtx/ Gwittir

http://code.google.com/p/gwittir/

Page 44: GWT: Our Experiences

Thank You!