Developing downloadable mobile apps using HTML5 and PhoneGap “Apache Callback” Ron Perry, CTO, Worklight Inc... Downloadable apps Using HTML5 in downloadable apps: the hybrid model • H
Trang 1Developing downloadable
mobile apps using HTML5 and PhoneGap “Apache Callback”
Ron Perry, CTO, Worklight Inc
Trang 2Agenda
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
Trang 3Critical HTML5 features are supported on mobile
• Canvas
• Audio
• Local Storage
• Geolocation
• Video
• CSS3 borders, anim
• Web Applications
• SVG
• Elements
• CSS3 position:fixed
• Drag & Drop
• Files
• WebGL
• IndexedDB, WebSQL
Desktop:
Trang 4HTML5 makes mobile web apps possible
Trang 5Native apps can still do much more
Video Processing
App-Store Presence
Trang 6Downloadable (Native) Apps
File System (on Mobile Device)
Native App (Java/Obj-C/C#)
Mobile OS
Trang 7Mobile Browser
Web Apps
Web App (HTML, CSS, JS)
Mobile OS Web Server
Trang 8Hybrid to the rescue
Advantages
Portability Reuse of
existing skills
Access to device APIs
App-store presence
Combine HTML/CSS/JS with native code
User interface in HTML/CSS
Logic and interaction
in JS
Special functions written in platform-specific native code
Trang 9Hybrid Apps
File System (on Mobile Device)
Mobile OS
Native Container
HTML, CSS, JS
Trang 10Full
Native Speed as Necessary
Overhead
Hybrid
App Development Comparison
Native
Device
Approval Process
Development Cost
Expensive
Available
Web
Trang 11Architecture 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
Trang 12PhoneGap – 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
Trang 13PhoneGap provides JS access to device APIs
Trang 14PhoneGap run-time (native+JS) is part of the app
Trang 15Example: raising a native alert from JS code
Trang 16Example: getting device info
Trang 17Example: accessing the camera
Trang 18Worklight 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!
Trang 19A 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
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
Trang 20For More Information
Apache Project Page http://incubator.apache.org/projects/callback.html
Worklight Webinars http://www.worklight.com/resources/webinars-and-tools
Thank You!