15
@burrsutter HTML5 Hybrid Mobile Dev using Eclipse Burr Sutter JBoss by Red Hat

HTML5 Hybrid Mobile Development Using Eclipse

Embed Size (px)

DESCRIPTION

Great Wide Open 2014 - Day 2 Burr Sutter - RedHat 11:30 AM - Developers 1

Citation preview

Page 1: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

HTML5 Hybrid Mobile Devusing Eclipse

Burr SutterJBoss by Red Hat

Page 2: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

EE6HTML5Mobile

iOS/AndroidPhonegap/Cordova

Grails/RailsScala/ClojureMaven/Gradle

GitNode.js

MongoDB/RedisHadoop

*-aaS

10s

AsynchronousReactive

00s

MVC – StrutsDI- Spring

ORM – HibernateXMLWS-*JSF

RIA/AJAXAgile

Automated TestingCI

SVNLinux

AJAX ClientGUI/EventRequest/Response

90s

HTTP/HTMLCGI

GET/POSTCookies

JavaServlet

EJBWindows NTSolaris/AIX

80s

C/C++4GLs

RDBMS/SQLUnix

InteractiveDistributed

70s

COBOLJCL

WFL

Batch

Programmer Evolution

Page 3: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Mobile Explosion: Nov 2010 to Dec 2011

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec '11

iOS 4.2.5Verizon iPhone

iOS 4.3iPad2

iOS 5.0iPhone 4S

Verizon OTAGingerbread (2.3)

AmazonKindle Fire

Dec

ASUSTransformer

RIMPlaybook

CES

MotorolaXoom

ToshibaThrive

iOS 4.2.1

Nov '10

HTCEVO 4G

SonyXperia Play

NexusPrime

SamsungGalaxy S2

BlackberryBold 9900

WindowsPhoneMangoWindows

Phone7.0

WindowsPhoneNoDo

Dozens of new devices ship annuallyMultiply by the number of OS versions (Android 2.2, 2.3, 3.0, iOS 4.x, 5,

Blackberry 7, Windows 7.0, 7.5) Multiply by the number of wireless carriers (Verizon, AT&T, Vodafone...)

Page 4: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Mobile Web vs Apps

Mobile Web

<html><body><div id=”name”/><script src=”x.js”/></body></html>

Native Shell Native App

Native Code

Apple apple appleAndroid androidWindows windowsIOS ios iosJaveObjectve c

<html><body><div id=”name”/><script src=”x.js”/></body></html>

HTML5HTML5

Device Browser Apache Cordova Objective-CAndroid JavaPros:

Instant DeploymentReuse of Web TalentsNo App Stores

Cons:Limited Device FeaturesLimited Offline CapabilitiesNo PushNo App Stores

Pros:Cross-PlatformNative Device FeaturesPushApp Stores

Cons:HTML/JS-based UINon-native look & feelApp Stores

Pros:Limitless capability

Cons:Unique CodebasesUnique skillsetsAddressing multiple screen dimensions

Page 5: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Phonegap/Apache Cordova Device APIs

Accelerometer

Camera

Compass

Console

Connection

Contacts

Device

Events

File

Geolocation

Media

Notification

Storage

Page 6: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Mobile Web/Hybrid Tools

Page 7: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

JBoss Tools Features

• Mobile/HTML5:•jQuery Mobile Palette•BrowserSim•CordovaSim - beta as of Nov 2013•Hybrid Mobile (Cordova) Application Project wizard – beta

• Java EE: JSF, CDI, JPA, etc

• Hibernate, Maven, OpenShift, RichFaces, Forge

• Tooling Base for: Switchyard, Drools, jBPM, Riftsaw, etc.

Page 8: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Page 9: HTML5 Hybrid Mobile Development Using Eclipse

Demo

@burrsutter

Page 10: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Aerogear Features

• Push: Apple Push Notification System (APNS), Google Cloud Messaging (GCM), SimplePush (web browser)

• Client SDKs: JavaScript, iOS, Android and Apache Cordova

• Secured CRUD

• OTP (One Time Password)

• Coming Soon: Encryption, DataSync, Offline, Cordova GeoFencing...

Page 11: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Aerogear – Mobile SDKs & Push

Page 12: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

Push Types

• App or Web? APNS/GCM require a real app

• Possibly offline - APNS/GCM will work even if the app backgrounded or not yet even launched

• APNS/GCM is not for “streaming” - more like SMS – smallish messages that arrive asynchronously, not guaranteed delivery

• APNS/GCM is battery friendly

• APNS/GCM has a relatively small data payload – useful for triggering a “call-back” to the server

• iOS Users have control over placement/alert style, DND

Page 13: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

APNS & GCM

Page 14: HTML5 Hybrid Mobile Development Using Eclipse

Demo

@burrsutter

Page 15: HTML5 Hybrid Mobile Development Using Eclipse

@burrsutter

OpenShift.com