mobile java with gwt, still write once run everywhere (mgwt+phonegap)

110
MOBILE JAVA (GWT, MGWT, PHONEGAP) Still “Write Once Run Everywhere” Murat YENER Friday, May 25, 12

Upload: murat-yener

Post on 13-May-2015

8.660 views

Category:

Technology


7 download

DESCRIPTION

Mobile Native looking Cross Platform applications with Java using GWT+mGWT+phonegap.

TRANSCRIPT

Page 1: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBILE JAVA(GWT, MGWT, PHONEGAP)

Still “Write Once Run Everywhere”

Murat YENER

Friday, May 25, 12

Page 2: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBILE JAVA(GWT, MGWT, PHONEGAP)

Still “Write Once Run Everywhere”

Murat YENER

Friday, May 25, 12

Page 3: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MURAT YENERJava/JavaEE, GWT, Flex, Android, iOS, Node.js...

Developer

Google Developer Group Istanbul

Eclipsist 2008/2009, EclipseCon 2010,

JavaOne 2011

Friday, May 25, 12

Page 4: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

This talk is highly inspired by Matt Raible’s talk at Devoxxhttp://www.parleys.com/#st=5&id=2925&sl=0

Friday, May 25, 12

Page 5: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

Friday, May 25, 12

Page 6: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

• Android

Friday, May 25, 12

Page 7: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

• Android

• iPhone

Friday, May 25, 12

Page 8: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

• Android

• iPhone

• Blackberry

Friday, May 25, 12

Page 9: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

• Android

• iPhone

• Blackberry

• Windows Phone

Friday, May 25, 12

Page 10: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

• Android

• iPhone

• Blackberry

• Windows Phone

• Tablets?!?

Friday, May 25, 12

Page 11: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MOBIL APPS

• Android

• iPhone

• Blackberry

• Windows Phone

• Tablets?!?

Friday, May 25, 12

Page 12: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

19911992

19931994

19951996

19971998

19992000

20012002

20032004

20052006

2007

2008

2012

2011

2012

WEB & MOBILE

HTMLHTML2

CSS+JSHTML4

CSS2XHTML

TablelessWeb

AJAX

HTML5

WM 2003

WM 5

WM 6

WinPhone7

2009

2010

2011

2012

iPhone

iPhone3GiPhone3GS

iPhone4iPhone4S

iPadiPad2

AndroidBetaAndroid 1.0

Android 1.1Cupcake

DonutEclair

FroyoGingerbread

Honeycomb

ICS

Friday, May 25, 12

Page 13: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

19911992

19931994

19951996

19971998

19992000

20012002

20032004

20052006

2007

2008

2012

2011

2012

WEB & MOBILE

HTMLHTML2

CSS+JSHTML4

CSS2XHTML

TablelessWeb

AJAX

HTML5

WM 2003

WM 5

WM 6

WinPhone7

2009

2010

2011

2012

iPhone

iPhone3GiPhone3GS

iPhone4iPhone4S

iPadiPad2

AndroidBetaAndroid 1.0

Android 1.1Cupcake

DonutEclair

FroyoGingerbread

Honeycomb

ICS

+ BlackberrySymbian

...

Friday, May 25, 12

Page 14: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Friday, May 25, 12

Page 15: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Web Apps: Teaching the old dog new tricks?

Friday, May 25, 12

Page 16: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Web Apps: Teaching the old dog new tricks?

Friday, May 25, 12

Page 17: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Web Apps: Teaching the old dog new tricks?

Friday, May 25, 12

Page 18: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

HTML MOBILE FRAMEWORKS

• Sencha

• Titanium

• ...

Friday, May 25, 12

Page 19: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

HTML5

• Storage, WebSQL, Application Cache, Web Workers, WebSocket, Notifications, Drag&Drop, GeoLocation, Speech, Audio, Video, Canvas, SVG...

•New tags!!! <article> <aside> <section> <header> <footer> <nav> <audio> <video> <datalist> <details>...

• Gone!!! <applet> <center> <font> <frame> <frameset>

• http://www.w3schools.com/html5/html5_reference.asp

Friday, May 25, 12

Page 20: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

CSS3• Animated Transitions

• Rounded Corners

•Drop Shadows

• Gradient Colors

• Background Decoration

• Text Effects

•Web Fonts

Friday, May 25, 12

Page 21: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

JAVASCRIPT

• IDE?

•Debugging?

Friday, May 25, 12

Page 22: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

JAVASCRIPT

• IDE?

•Debugging?

Friday, May 25, 12

Page 23: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Friday, May 25, 12

Page 24: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Friday, May 25, 12

Page 25: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

GOOGLE WEB TOOLKIT

•Write Java, compile Javascript

• Eclipse integration

•Debug Javascript on Java

• Browser compability (from IE6 to mobile!!!)

Friday, May 25, 12

Page 26: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

GOOGLE WEB TOOLKIT

•Write Java, compile Javascript

• Eclipse integration

•Debug Javascript on Java

• Browser compability (from IE6 to mobile!!!)

Friday, May 25, 12

Page 27: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

GOOGLE WEB TOOLKIT

•Write Java, compile Javascript

• Eclipse integration

•Debug Javascript on Java

• Browser compability (from IE6 to mobile!!!)

Friday, May 25, 12

Page 28: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

GOOGLE WEB TOOLKIT

•Write Java, compile Javascript

• Eclipse integration

•Debug Javascript on Java

• Browser compability (from IE6 to mobile!!!)

Friday, May 25, 12

Page 29: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

GWT, MOBILE?

• Style? (CSS?)

•Native Widgetlar (Button, Combo, Checkbox...)

•Online/Offline

• APIs (Camera, GPS, Contacts...)

Friday, May 25, 12

Page 30: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

GWT, MOBILE?

• Style? (CSS?)

•Native Widgetlar (Button, Combo, Checkbox...)

•Online/Offline

• APIs (Camera, GPS, Contacts...)

Friday, May 25, 12

Page 31: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

UI

Friday, May 25, 12

Page 32: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

UI

Friday, May 25, 12

Page 33: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

UI

Friday, May 25, 12

Page 34: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

UI

Friday, May 25, 12

Page 35: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOOKING NATIVE• gwt-mobile-webkit: database, storage,

geolocation, widgets(?) http://code.google.com/p/

gwt-mobile-webkit/

• gwtmobile: GwtMobile-UI, Gwtmobile-Persistence, GwtMobile-PhoneGap(!) http://code.google.com/p/gwtmobile/

• touch4j: Sencha, $$ http://www.emitrom.com/gwt4touch

•mgwt: UI Widgets, GWT-Phonegap http://code.google.com/p/mgwt/

Friday, May 25, 12

Page 36: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOOKING NATIVE• gwt-mobile-webkit: database, storage,

geolocation, widgets(?) http://code.google.com/p/

gwt-mobile-webkit/

• gwtmobile: GwtMobile-UI, Gwtmobile-Persistence, GwtMobile-PhoneGap(!) http://code.google.com/p/gwtmobile/

• touch4j: Sencha, $$ http://www.emitrom.com/gwt4touch

•mgwt: UI Widgets, GWT-Phonegap http://code.google.com/p/mgwt/

Friday, May 25, 12

Page 37: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOOKING NATIVE• gwt-mobile-webkit: database, storage,

geolocation, widgets(?) http://code.google.com/p/

gwt-mobile-webkit/

• gwtmobile: GwtMobile-UI, Gwtmobile-Persistence, GwtMobile-PhoneGap(!) http://code.google.com/p/gwtmobile/

• touch4j: Sencha, $$ http://www.emitrom.com/gwt4touch

•mgwt: UI Widgets, GWT-Phonegap http://code.google.com/p/mgwt/

Friday, May 25, 12

Page 38: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOOKING NATIVE• gwt-mobile-webkit: database, storage,

geolocation, widgets(?) http://code.google.com/p/

gwt-mobile-webkit/

• gwtmobile: GwtMobile-UI, Gwtmobile-Persistence, GwtMobile-PhoneGap(!) http://code.google.com/p/gwtmobile/

• touch4j: Sencha, $$ http://www.emitrom.com/gwt4touch

•mgwt: UI Widgets, GWT-Phonegap http://code.google.com/p/mgwt/

Friday, May 25, 12

Page 39: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 40: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 41: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 42: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 43: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 44: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 45: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 46: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT

• Standard GWT (Java)

• JavaScript via JSNI

•Native looking widgets

• iOS, Android, Blackberry...

• Phones & Tablets

•Online &Offline

Friday, May 25, 12

Page 47: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Friday, May 25, 12

Page 48: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

Friday, May 25, 12

Page 49: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PROJECT :)

• Chronometer + map (location, maps)

•MP3 player (audio)

• Friend List(contacts, http request, social login)

• History (storage)

Friday, May 25, 12

Page 50: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PROJECT :)

• Chronometer + map (location, maps)

•MP3 player (audio)

• Friend List(contacts, http request, social login)

• History (storage)

Friday, May 25, 12

Page 51: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PROJECT :)

• Chronometer + map (location, maps)

•MP3 player (audio)

• Friend List(contacts, http request, social login)

• History (storage)

Friday, May 25, 12

Page 52: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PROJECT :)

• Chronometer + map (location, maps)

•MP3 player (audio)

• Friend List(contacts, http request, social login)

• History (storage)

Friday, May 25, 12

Page 53: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

STARTING MGWT

• Eclipse GWT plugin

•MGWT

•Model-View-Presenter

•Maven Archetype

Friday, May 25, 12

Page 54: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

STARTING MGWT

• Eclipse GWT plugin

•MGWT

•Model-View-Presenter

•Maven Archetype

Friday, May 25, 12

Page 55: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

STARTING MGWT

• Eclipse GWT plugin

•MGWT

•Model-View-Presenter

•Maven Archetype

Friday, May 25, 12

Page 56: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

STARTING MGWT

• Eclipse GWT plugin

•MGWT

•Model-View-Presenter

•Maven Archetype

Friday, May 25, 12

Page 57: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MAPS

• Google Maps Ver 2.0: http://code.google.com/p/gwt-google-apis/

• Google Maps Ver 3.0: http://code.google.com/p/gwt-google-maps-v3/

•No Javascript so far!

• <inherits name='com.google.gwt.maps.GoogleMaps' />

Friday, May 25, 12

Page 58: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MAPS

• Google Maps Ver 2.0: http://code.google.com/p/gwt-google-apis/

• Google Maps Ver 3.0: http://code.google.com/p/gwt-google-maps-v3/

•No Javascript so far!

• <inherits name='com.google.gwt.maps.GoogleMaps' />

Friday, May 25, 12

Page 60: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOCATION

• HTML5 Geolocation

• Still no Javascript!!

Friday, May 25, 12

Page 61: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOCATION

• HTML5 Geolocation

• Still no Javascript!!

UserLocation.getLocation(new UserLocationCallback() { @Override public void onLocationFound(Coordinates coords) { getMap(coords); }});

Friday, May 25, 12

Page 62: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOCATION

• HTML5 Geolocation

• Still no Javascript!!

UserLocation.getLocation(new UserLocationCallback() { @Override public void onLocationFound(Coordinates coords) { getMap(coords); }});

Friday, May 25, 12

Page 63: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

FIRST TRY

• HTML5 Geolocation not accurared

• Just a straight line instead of a route

• The app stops when the device is locked

Friday, May 25, 12

Page 64: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

FIRST TRY

• HTML5 Geolocation not accurared

• Just a straight line instead of a route

• The app stops when the device is locked

Friday, May 25, 12

Page 65: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

FIRST TRY

• HTML5 Geolocation not accurared

• Just a straight line instead of a route

• The app stops when the device is locked

Friday, May 25, 12

Page 66: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

FIRST TRY

• HTML5 Geolocation not accurared

• Just a straight line instead of a route

• The app stops when the device is locked

enableHighAccuracy: True

Friday, May 25, 12

Page 67: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

FIRST TRY

• HTML5 Geolocation not accurared

• Just a straight line instead of a route

• The app stops when the device is locked

enableHighAccuracy: True

Google Maps Polylines

Friday, May 25, 12

Page 68: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

FIRST TRY

• HTML5 Geolocation not accurared

• Just a straight line instead of a route

• The app stops when the device is locked

enableHighAccuracy: True

Google Maps Polylines

PhoneGap?

Friday, May 25, 12

Page 69: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PHONEGAP

• or the new Cordova

• iOS Plugin (http://phonegap.com/start#ios-x4)

• Android Plugin (http://phonegap.com/start#android)

• and others...

Friday, May 25, 12

Page 70: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PHONEGAP

• or the new Cordova

• iOS Plugin (http://phonegap.com/start#ios-x4)

• Android Plugin (http://phonegap.com/start#android)

• and others...

Friday, May 25, 12

Page 71: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PHONEGAP

• or the new Cordova

• iOS Plugin (http://phonegap.com/start#ios-x4)

• Android Plugin (http://phonegap.com/start#android)

• and others...

Friday, May 25, 12

Page 72: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

BUT WHERE IS THE MAP?!?

Friday, May 25, 12

Page 73: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

URL PERMISSIONS

•maps.gstatic

•mt1.googleapis

•mt0.googleapis

•maps.google.com

Friday, May 25, 12

Page 74: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

URL PERMISSIONS

•maps.gstatic

•mt1.googleapis

•mt0.googleapis

•maps.google.com

Friday, May 25, 12

Page 75: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

URL PERMISSIONS

•maps.gstatic

•mt1.googleapis

•mt0.googleapis

•maps.google.com

Friday, May 25, 12

Page 76: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

SECOND TRY

• Still when the location updates stop when the device is locked!

Friday, May 25, 12

Page 77: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

SECOND TRY

• Still when the location updates stop when the device is locked!

Friday, May 25, 12

Page 78: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

SECOND TRY

• Still when the location updates stop when the device is locked!

PhoneGap!!!

Friday, May 25, 12

Page 79: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PHONEGAP SETTINGS

Friday, May 25, 12

Page 80: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MP3 PLAYER

• Local vs Streaming

• HTML5 <Audio>

• com.phonegap.audiohandler

Friday, May 25, 12

Page 81: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MP3 PLAYER

• Local vs Streaming

• HTML5 <Audio>

• com.phonegap.audiohandler

Friday, May 25, 12

Page 82: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

HISTORY

• LocalStorage, Javascript wrapper

•WebSQL

• Cookies!!

public native static void setItem(String key, String value) /*-{ $wnd.localStorage.setItem(key, value);}-*/;

public native static String getItem(String key) /*-{ return $wnd.localStorage.getItem(key);}-*/;

public static String getItem(String key){ return Cookies.getCookie(key);} public static void setItem(String key, String value){ Cookies.setCookie(key, value, new Date(2050, 1, 1), "", "", true);}

Friday, May 25, 12

Page 83: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MY FRIENDS

• Getting contacts

• Social login

phoneGap.getContacts()

gwt-google-apis

& OAuth

Friday, May 25, 12

Page 84: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MY FRIENDS

• Getting contacts

• Social login

phoneGap.getContacts()

gwt-google-apis

& OAuth

PLUS.initialize(new SimpleEventBus(), new GoogleApiRequestTransport(APPLICATION_NAME, API_KEY));

    final Button b = new Button("Authenticate to get public activities");    b.addClickHandler(new ClickHandler() {      @Override      public void onClick(ClickEvent e) {        OAuth2Login.get().authorize(CLIENT_ID, PlusAuthScope.PLUS_ME, new Callback<Void, Exception>() {

      @Override      public void onSuccess(Void v) {        PLUS.people().get("me").to(new Receiver<Person>() {

      @Override      public void onSuccess(Person person) {        println("Hello " + person.getDisplayName());      }    }).fire();

      }

      @Override      public void onFailure(Exception e) {        println(e.getMessage());      }    });

      }    });

Friday, May 25, 12

Page 85: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MY FRIENDS

• Getting contacts

• Social login

phoneGap.getContacts()

gwt-google-apis

& OAuth

Friday, May 25, 12

Page 86: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MY FRIENDS

• Getting contacts

• Social login

phoneGap.getContacts()

gwt-google-apis

& OAuth

Phonegap child browser plug

in

Friday, May 25, 12

Page 88: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

SWIPE PANEL

• Google+

• Built in widget in Sencha and other frameworks

• not in mGWT!?!

•Wrapping Javascript with JSNI?

Friday, May 25, 12

Page 89: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

SWIPE PANEL

• Google+

• Built in widget in Sencha and other frameworks

• not in mGWT!?!

•Wrapping Javascript with JSNI?

Friday, May 25, 12

Page 90: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

JSNI

Friday, May 25, 12

Page 91: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

JSNI

Friday, May 25, 12

Page 92: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

JSNI

Friday, May 25, 12

Page 93: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 94: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 95: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 96: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 97: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 98: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 99: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

MGWT GROUPS

https://groups.google.com/forum/?fromgroups#!forum/mgwt

Friday, May 25, 12

Page 100: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

OK THEN...

Friday, May 25, 12

Page 101: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

OK THEN...

Friday, May 25, 12

Page 102: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

OK THEN...

Friday, May 25, 12

Page 103: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LATEST NEWS!!!

Friday, May 25, 12

Page 104: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LATEST NEWS!!!

Friday, May 25, 12

Page 105: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LATEST NEWS!!!

Friday, May 25, 12

Page 106: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

PHONEGAP - CORDOVA

• Apache Cordova Incubator

• 1.3<problem<1.7

• Cordova 1.7 - GwtPhonegap 1.7 + mGWT 1.1 (Snapshot)

Friday, May 25, 12

Page 107: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

DEBUGGING

•Desktop: First Class Java Debugging

•Mobil: Gwt Pretty Compile!

iOS: Remote debugging of HTML and JS on device

Android: Chrome Beta? Most probably will be available soon

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{! [NSClassFromString(@"WebView") _enableRemoteInspector];

Friday, May 25, 12

Page 108: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

LOCATION DEBUG

• Go out!!!

• Also only on iOS :(

Friday, May 25, 12

Page 109: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

CONCLUSION

•MGWT + PhoneGap works! Not a silverbullet but sill great!

•Only way to connect backend JSONP (JSON with Padding)

• JSNI is very easy... BUT! be careful when touch events are involved!

• Browse Phonegap plugins before going native!

• Test location on field.

•Don’t forget to add urls to permissions list

Friday, May 25, 12

Page 110: Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)

</PRESENTATION>[email protected]

blogs.eteration.comdevchronicles.com

@yenerm114028338330916709688

Like the talk... A Hall14:30and Matt Raible Devoxx 2011

Friday, May 25, 12