Developing downloadable mobile apps using HTML5 and PhoneGap

advertisement
Developing downloadable
mobile apps using HTML5 and
PhoneGap “Apache Callback”
Ron Perry, CTO, Worklight Inc.
Agenda
Downloadable (native) apps vs. Web apps
• HTML5 web apps vs. Downloadable apps
Using HTML5 in downloadable apps: the hybrid model
• How hybrid apps work
• Advantages and disadvantages
Writing an app with PhoneGap
• The concept
• Accessing device APIs
Our experience with PhoneGap
2
Critical HTML5 features are supported on mobile
•
•
•
•
•
•
•
3
iOS5
Canvas
Audio
Local Storage
Geolocation
Video
CSS3 borders, anim
Web Applications
Android 2.2, 2.3
•
•
•
•
•
•
•
SVG
Elements
CSS3 position:fixed
Drag & Drop
Files
WebGL
IndexedDB, WebSQL
WinPhone 7.5
Desktop:
HTML5 makes mobile web apps possible
4
Native apps can still do much more
VoIP
Video Processing
5
Access Camera
Audio Processing
App-Store Presence
Downloadable (Native) Apps
File System
(on Mobile
Device)
Native App
(Java/Obj-C/C#)
Mobile OS
6
Web Apps
Mobile Browser
Web App
(HTML, CSS, JS)
Web Server
Mobile OS
7
Hybrid to the rescue
Combine HTML/CSS/JS with native code
User interface in
HTML/CSS
Logic and interaction
in JS
Special functions
written in platformspecific native code
Advantages
Portability
8
Reuse of
existing skills
Access to
device APIs
App-store
presence
Hybrid Apps
Native Container
File System
(on Mobile
Device)
HTML, CSS, JS
Mobile OS
9
App Development Comparison
Device
Access
Speed
Development
Cost
App Store
Approval
Process
Full
Very Fast
Expensive
Available
Mandatory
Hybrid
Full
Native
Speed as
Necessary
Reasonable
Available
Low
Overhead
Web
Partial
Fast
Reasonable
Not
Available
None
Native
10
Architecture of a hybrid app
Native container:
•
•
•
•
Creates instance of UIWebView / android.webkit.WebView / etc.
Navigates to main html file
Implements listener/handler for requests coming from JS code
Activates JS code when necessary
HTML5/CSS3/JS code:
• Implements UI and app logic
• Activates native handlers through OS-specific mechanism (custom URL
scheme)
• Receives responses through JS handlers
HTML resources can be packaged into downloadable app for
performance boost
11
PhoneGap – Open Source Framework
The de-facto standard for hybrid app development
Now in transition into becoming “Apache Callback”
Provides:
• A template implementation for the native container
• Implementation of the JS<->Native bridge for 6 mobile OSs
• OS-independent JS APIs for activating device functions
12
PhoneGap provides JS access to device APIs
13
PhoneGap run-time (native+JS) is part of the app
14
Example: raising a native alert from JS code
15
Example: getting device info
16
Example: accessing the camera
17
Worklight Platform: PhoneGap-based client-side
The Worklight Platform provides an enterprise-grade
infrastructure for mobile apps
Includes features such as security, authentication,
data-integration, push notifications, diagnostics, direct update
and more
We chose PhoneGap as the basis for our client-side technology,
(while exposing the PhoneGap APIs) and are very happy with the
result!
18
A couple of Worklight-based apps
Lotte Card (Korean credit card company):
• Combines 150 HTML5 screens with a
native augmented reality screen
• Developed very quickly for iPhone and
Android
19
RealNews (for iPad):
• Developed by RealCommerce, Worklight’s
distributors in Israel
• Lists “hot” Israeli news articles by # of likes
• Freely available on the app store
For More Information
Resource
Location
PhoneGap Site
http://www.phonegap.com
Apache Project Page
http://incubator.apache.org/projects/callback.html
Worklight Webinars
http://www.worklight.com/resources/webinars-and-tools
Thank You!
20
Download