java mobile apps with gwt & phonegap

39
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate

Upload: ulla

Post on 02-Feb-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Java Mobile Apps with GWT & PhoneGap. Josh Marinacci, webOS Developer Advocate. overview. the problem what are gwt & phone gap building an app device apis fun stuff!. josh: java ninja. Open Source Project Founder. Swing, JavaFX, JavaStore. JavaScript. the problem. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java Mobile Apps with GWT & PhoneGap

Java Mobile Apps with GWT & PhoneGap

Josh Marinacci, webOS Developer Advocate

Page 2: Java Mobile Apps with GWT & PhoneGap

overview

•the problem

•what are gwt & phone gap

•building an app

•device apis

•fun stuff!

Page 3: Java Mobile Apps with GWT & PhoneGap

josh: java ninja

Page 4: Java Mobile Apps with GWT & PhoneGap

Open Source Project Founder

Page 5: Java Mobile Apps with GWT & PhoneGap
Page 6: Java Mobile Apps with GWT & PhoneGap
Page 7: Java Mobile Apps with GWT & PhoneGap

Swing, JavaFX, JavaStore

Page 8: Java Mobile Apps with GWT & PhoneGap
Page 9: Java Mobile Apps with GWT & PhoneGap
Page 10: Java Mobile Apps with GWT & PhoneGap
Page 11: Java Mobile Apps with GWT & PhoneGap

JavaScript

Page 12: Java Mobile Apps with GWT & PhoneGap
Page 13: Java Mobile Apps with GWT & PhoneGap
Page 14: Java Mobile Apps with GWT & PhoneGap

the problem

•no Java on iOS, webOS, PlayBook OS and others

•we want to code in Java

•we want to use web technologies

Page 15: Java Mobile Apps with GWT & PhoneGap

the solution

•GWT cross compiler

•PhoneGap build scripts

•Open source API bindings

Page 16: Java Mobile Apps with GWT & PhoneGap

what is GWT?

•Google Web Toolkit

•compiler: Java to JavaScript

•UI Toolkit & JavaSE APIs

•optimized by smart Googlers

•works on any WebKit!

Page 17: Java Mobile Apps with GWT & PhoneGap

How GWT works

•write Java code against GWT APIs

•debug with your Java IDE

•compile to optimized JavaScript

•run in any browser

•client and server side code

Page 18: Java Mobile Apps with GWT & PhoneGap

First GWT App

•download: code.google.com/webtoolkit/

•work through online tutorial

•mobilize

Page 19: Java Mobile Apps with GWT & PhoneGap

generate new project

webAppCreator -out MyApp com.myco.MyApp

Page 20: Java Mobile Apps with GWT & PhoneGap

localhost:gwt-2.0.4 joshmarinacci$ ./webAppCreator -out MyApp com.joshondesign.myapp.MyAppNot creating tests because -junit argument was not specified.Created directory MyApp/srcCreated directory MyApp/warCreated directory MyApp/war/WEB-INFCreated directory MyApp/war/WEB-INF/libCreated directory MyApp/src/com/joshondesign/myappCreated directory MyApp/src/com/joshondesign/myapp/clientCreated directory MyApp/src/com/joshondesign/myapp/serverCreated directory MyApp/src/com/joshondesign/myapp/sharedCreated directory MyApp/test/com/joshondesign/myappCreated directory MyApp/test/com/joshondesign/myapp/clientCreated file MyApp/src/com/joshondesign/myapp/MyApp.gwt.xmlCreated file MyApp/war/MyApp.htmlCreated file MyApp/war/MyApp.cssCreated file MyApp/war/WEB-INF/web.xmlCreated file MyApp/src/com/joshondesign/myapp/client/MyApp.javaCreated file MyApp/src/com/joshondesign/myapp/client/GreetingService.javaCreated file MyApp/src/com/joshondesign/myapp/client/GreetingServiceAsync.javaCreated file MyApp/src/com/joshondesign/myapp/server/GreetingServiceImpl.javaCreated file MyApp/src/com/joshondesign/myapp/shared/FieldVerifier.javaCreated file MyApp/build.xmlCreated file MyApp/README.txtCreated file MyApp/.projectCreated file MyApp/.classpathCreated file MyApp/MyApp.launchCreated file MyApp/war/WEB-INF/lib/gwt-servlet.jarlocalhost:gwt-2.0.4 joshmarinacci$

Page 21: Java Mobile Apps with GWT & PhoneGap

GWT App Structure•client/

•GUI code, define services & proxies

•server/

•implement services

•shared/

•common code

Page 22: Java Mobile Apps with GWT & PhoneGap

build

•run ant

•gwtc will compile your app to javascript

•generates permutations & war

•run in appserver

Page 23: Java Mobile Apps with GWT & PhoneGap

[demo]

Page 24: Java Mobile Apps with GWT & PhoneGap

Web Technology: Browser Page or

App?•Browser: always remote

•easy deployment

•100% connection required

•App: always local

•loads faster, easy to launch

•have to submit to app catalog

Page 25: Java Mobile Apps with GWT & PhoneGap

What is PhoneGap?

•packages HTML into native apps

•iPhone -> generate ObjC wrapper -> app

•Android -> generate Java wrapper -> app

•webOS -> app

Page 26: Java Mobile Apps with GWT & PhoneGap

Build a Mobile App

•Turn the client code into an app

•Don’t use server code OR put server side code on a real server

•Generate native projects with Phone Gap

•Compile and submit for each platform

Page 27: Java Mobile Apps with GWT & PhoneGap

GWT + PhoneGap

• create phonegap dir

• copy phonegap-palm

• copy /war/myapp/ to framework/www/myapp/

• copy /war/MyApp.html to framework/www/index.html

• package, install, and run webOS app

• repeat for other platforms

Page 28: Java Mobile Apps with GWT & PhoneGap

[demo]

Page 29: Java Mobile Apps with GWT & PhoneGap

Mobilize your App

Page 30: Java Mobile Apps with GWT & PhoneGap

Customizing for Mobile

•improve your UI design for tapping

•shrink everything with CSS

•support multiple resolutions

•hook into device APIs

•use HTML Canvas

Page 31: Java Mobile Apps with GWT & PhoneGap

UI Styling with CSS

•[example]

•[master detail app with transitions]

Page 32: Java Mobile Apps with GWT & PhoneGap

Device Sizes

•media-queries

•[show same app on phone and touchpad]

Page 33: Java Mobile Apps with GWT & PhoneGap

Device Access: Camera

•[example]

•[simple app to take a picture, show it, then upload it to twitpic]

Page 34: Java Mobile Apps with GWT & PhoneGap

HTML Canvas

•2D drawing api in HTML

•direct GWT support

•good for games and graphics

Page 35: Java Mobile Apps with GWT & PhoneGap

Canvas

•[demo of doing some charts]

Page 36: Java Mobile Apps with GWT & PhoneGap

GWT Play

•[demo]

Page 37: Java Mobile Apps with GWT & PhoneGap

Tools

•code.google.com/p/gwt-mobile-webkit/

•github.com/dennisjzh/GwtMobile-PhoneGap

•Chrome w/ Developer Tools

Page 38: Java Mobile Apps with GWT & PhoneGap

developer.palm.com

•100% free:

•docs & forums

•tools & sdk

•app submission

•Use any tools or language you want!

Page 39: Java Mobile Apps with GWT & PhoneGap

Questions?

[email protected]

•JoshOnDesign.com

•@joshmarinacci

•Developer.Palm.Com

•Come by the HP Booth!