Post on 14-May-2015
description
@burrsutter
HTML5 Hybrid Mobile Devusing Eclipse
Burr SutterJBoss by Red Hat
@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
@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...)
@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
@burrsutter
Phonegap/Apache Cordova Device APIs
Accelerometer
Camera
Compass
Console
Connection
Contacts
Device
Events
File
Geolocation
Media
Notification
Storage
@burrsutter
Mobile Web/Hybrid Tools
@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.
@burrsutter
Demo
@burrsutter
@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...
@burrsutter
Aerogear – Mobile SDKs & Push
@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
@burrsutter
APNS & GCM
Demo
@burrsutter
@burrsutter
OpenShift.com