Developing Downloadable Mobile Apps Using HTML5 and PhoneGapPresentation Transcript
Developing DownloadableMobile Apps Using HTML5 andPhoneGap “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
Critical HTML5 features are supported on mobile iOS5 Android 2.2, 2.3 WinPhone 7.5• Canvas • SVG• Audio • Elements Desktop:• Local Storage • CSS3 position:fixed• Geolocation • Drag & Drop• Video • Files• CSS3 borders, anim • WebGL• Web Applications • IndexedDB, WebSQL
HTML5 makes mobile web apps possible
Native apps can still do much more VoIP Access Camera Audio Processing Video Processing App-Store Presence
Downloadable (Native) Apps File System Native App (on Mobile (Java/Obj-C/C#) Device) Mobile OS
Web Apps Mobile Browser Web App (HTML, CSS, JS)Web Server Mobile OS
Hybrid to the rescue Combine HTML/CSS/JS with native code Special functions User interface in Logic and interaction written in platform- HTML/CSS in JS specific native code Advantages Reuse of Access to App-store Portability existing skills device APIs presence
Hybrid Apps Native Container File System (on Mobile HTML, CSS, JS Device) Mobile OS
App Development Comparison Device Development Approval Speed App Store Access Cost ProcessNative Full Very Fast Expensive Available Mandatory Native LowHybrid Full Speed as Reasonable Available Overhead Necessary Not Web Partial Fast Reasonable Available None
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
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
PhoneGap provides JS access to device APIs
PhoneGap run-time (native+JS) is part of the app
Example: raising a native alert from JS code
Example: getting device info
Example: accessing the camera
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!
A couple of Worklight-based appsLotte Card (Korean credit card company): RealNews (for iPad):• Combines 150 HTML5 screens with a • Developed by RealCommerce, Worklight’s native augmented reality screen distributors in Israel• Developed very quickly for iPhone and • Lists “hot” Israeli news articles by # of likes Android • Freely available on the app store
For More InformationResource LocationPhoneGap Site http://www.phonegap.comApache Project Page http://incubator.apache.org/projects/callback.htmlWorklight Webinars http://www.worklight.com/resources/webinars-and-tools Thank You!