SlideShare a Scribd company logo
Cross Platform Mobile App
Development
in Review
Presented by: Joseph Payette, CTO
Cross Platform Mobile App Development
Native
● Use native build tools to create binary
compatible application packages
● Use existing application distribution channels,
such as the AppStore and Google Play
● Target platforms are completely different, and
differences must be considered when designing
nearly every aspect of the application
Hybrid Frameworks (a few)
PhoneGap/Apache Cordova
Use HTML5, Javascript, & CSS for UI, and Bridge API to
acces native features, plus Java and Objective-C for
custom components
Appcelerator Titanium
Use Javascript SDK for all features and Alloy Framework
for MVC
MoSync Wormhole
Use HTML5, Javascript, & CSS, and Bridge API to access
native features, plus C++ for custom components
Hybrid
●Use framework specific build tools to build a
native application shell with an embedded web
browser as the presentation layer
●Use existing application distribution channels,
such as the AppStore and Google Play
●Target platforms are completely different although
differences can be minimized by utilizing the
framework bridge
HTML5
●Use the same build tools for creating web
applications, HTML5, Javascript, & CSS
●Application distribution channels are completely
different than native (and hybrid) channels-
HTML5 application stores
●Target platform is binary incompatible with native
(and hybrid) packages, and differences require
emulation or designed intentionally similar
PhoneGap
● No need for an IDE, can use regular text editor
● Can build locally on Windows, Mac, and Linux,
given the underlying build tools are available
(Xcode and iOS SDK, Android SDK, …)
● Can build in the cloud with PhoneGap build,
which builds target packages for you, so you
only need build tools for one platform
PhoneGap (Cont...)
● Sudo npm install -g cordova
● Codova create hello com.example.hello
HelloWorld
● Cordova platform add android
● Cordova build
● Cordova emulate android
PhoneGap (cont...)
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
}
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + 'n' +
'Acceleration Y: ' + acceleration.y + 'n' +
'Acceleration Z: ' + acceleration.z + 'n' +
'Timestamp: ' + acceleration.timestamp + 'n');
}
function onError() {
alert('onError!');
}
</script>
Appcelerator Titanium
● Recommended to use their Titanium Studio
IDE, resembles Aptana Studio
● Can build locally on Windows, Mac, and Linux,
given the underlying build tools are available
(Xcode and iOS SDK, Android SDK, …)
● Can build distribution packages locally, but you
need build tools for each platform
Appcelerator Titanium (cont...)
MoSync
● You don't have to use their IDE, but it's highly
recommended – the provide build tools but they
aren't user friendly
● Can build locally, on Mac and Windows only.
They have instructions for Linux but it's not an
end-to-end developer experience
● Can build distribution packages locally, but you
need build tools for each platform
MoSync (cont...)
MoSync (cont...)
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="js/wormhole.js"></script>
function vibrate() {
mosync.bridge.send(["Custom", "Vibrate", "500"]);
}
document.addEventListener("deviceready", displayDeviceInfo, true);
document.addEventListener("backbutton", function() { mosync.app.exit(); }, true);
</head>
<body>
<div class="pane button" onclick="vibrate()">Vibrate</div>
</body>
</html>

More Related Content

ODP
Introduction to Mobile Application Development
PDF
Mobile App Development
PDF
Introduction to Cross-Platform Hybrid Mobile App Development
PDF
Hybrid mobile apps
PPTX
Mobile applications chapter 5
PPTX
Introduction to mobile application development
PPT
Hybrid mobile app development
PPTX
Developing a Modern Mobile App Strategy
Introduction to Mobile Application Development
Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
Hybrid mobile apps
Mobile applications chapter 5
Introduction to mobile application development
Hybrid mobile app development
Developing a Modern Mobile App Strategy

What's hot (20)

PPTX
Mobile Application Development: Hybrid, Native and Mobile Web Apps
PPTX
Development of Mobile Application -PPT
PPTX
Introduction to Hybrid Application Development
PPT
Hybrid vs Native vs Web Apps
PPTX
Introduction To Mobile Application Development
PDF
Native vs. Hybrid Apps
PPTX
Introduction to Mobile Development
PPTX
Hybrid Mobile App
PPTX
Introduction to hybrid application development
PPTX
Building Hybrid Apps with AngularJS and Ionic
PPTX
Top 10 programming languages for mobile app development
PPT
On Mobile- Product Strategy
PPTX
Day: 1 Introduction to Mobile Application Development (in Android)
PDF
Mobile app development - course intro
PDF
Lublin Startup Festival - Mobile Architecture Design Patterns
PDF
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
PDF
Mobile application development strategy and execution
PPTX
Native vs hybrid approach Mobile App Development
PDF
The Great Mobile Debate: Native vs. Hybrid App Development
PDF
Native vs Hybrid - Options to develop your mobile application
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Development of Mobile Application -PPT
Introduction to Hybrid Application Development
Hybrid vs Native vs Web Apps
Introduction To Mobile Application Development
Native vs. Hybrid Apps
Introduction to Mobile Development
Hybrid Mobile App
Introduction to hybrid application development
Building Hybrid Apps with AngularJS and Ionic
Top 10 programming languages for mobile app development
On Mobile- Product Strategy
Day: 1 Introduction to Mobile Application Development (in Android)
Mobile app development - course intro
Lublin Startup Festival - Mobile Architecture Design Patterns
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile application development strategy and execution
Native vs hybrid approach Mobile App Development
The Great Mobile Debate: Native vs. Hybrid App Development
Native vs Hybrid - Options to develop your mobile application
Ad

Similar to Cross Platform Mobile App Development (20)

PDF
[IJCT-V3I2P36] Authors: Amarbir Singh
PPTX
Multiplatform
ODP
Synapse india reviews on mobile application development
PPTX
Cross-Platform Development
PPTX
NCDevCon 2017 - Cross Platform Mobile Apps
PDF
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
PPT
Cross platform mobile application development
PPTX
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
PPTX
Cross-platform Mobile Development on Open Source
PPTX
Cross-Platform Development using Angulr JS in Visual Studio
PDF
[2015/2016] Apache Cordova
ODP
Synapse india reviews on cross plateform mobile apps development
PDF
Web, Native & Hybrid Apps Overview
PPTX
Cross platform Web apps
PDF
Cross platform mobile approaches
PPTX
Cross platform mobile app development tools review
PDF
Introduction to Phonegap
PPTX
Cross Platform Mobile Application Development
PPTX
Top 4 Cross Platform tools for Mobile App Development
PPTX
Hybrid mobile app
[IJCT-V3I2P36] Authors: Amarbir Singh
Multiplatform
Synapse india reviews on mobile application development
Cross-Platform Development
NCDevCon 2017 - Cross Platform Mobile Apps
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross platform mobile application development
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Cross-platform Mobile Development on Open Source
Cross-Platform Development using Angulr JS in Visual Studio
[2015/2016] Apache Cordova
Synapse india reviews on cross plateform mobile apps development
Web, Native & Hybrid Apps Overview
Cross platform Web apps
Cross platform mobile approaches
Cross platform mobile app development tools review
Introduction to Phonegap
Cross Platform Mobile Application Development
Top 4 Cross Platform tools for Mobile App Development
Hybrid mobile app
Ad

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Empathic Computing: Creating Shared Understanding
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Modernizing your data center with Dell and AMD
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Empathic Computing: Creating Shared Understanding
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Chapter 3 Spatial Domain Image Processing.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Diabetes mellitus diagnosis method based random forest with bat algorithm
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Modernizing your data center with Dell and AMD
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...

Cross Platform Mobile App Development

  • 1. Cross Platform Mobile App Development in Review Presented by: Joseph Payette, CTO
  • 3. Native ● Use native build tools to create binary compatible application packages ● Use existing application distribution channels, such as the AppStore and Google Play ● Target platforms are completely different, and differences must be considered when designing nearly every aspect of the application
  • 4. Hybrid Frameworks (a few) PhoneGap/Apache Cordova Use HTML5, Javascript, & CSS for UI, and Bridge API to acces native features, plus Java and Objective-C for custom components Appcelerator Titanium Use Javascript SDK for all features and Alloy Framework for MVC MoSync Wormhole Use HTML5, Javascript, & CSS, and Bridge API to access native features, plus C++ for custom components
  • 5. Hybrid ●Use framework specific build tools to build a native application shell with an embedded web browser as the presentation layer ●Use existing application distribution channels, such as the AppStore and Google Play ●Target platforms are completely different although differences can be minimized by utilizing the framework bridge
  • 6. HTML5 ●Use the same build tools for creating web applications, HTML5, Javascript, & CSS ●Application distribution channels are completely different than native (and hybrid) channels- HTML5 application stores ●Target platform is binary incompatible with native (and hybrid) packages, and differences require emulation or designed intentionally similar
  • 7. PhoneGap ● No need for an IDE, can use regular text editor ● Can build locally on Windows, Mac, and Linux, given the underlying build tools are available (Xcode and iOS SDK, Android SDK, …) ● Can build in the cloud with PhoneGap build, which builds target packages for you, so you only need build tools for one platform
  • 8. PhoneGap (Cont...) ● Sudo npm install -g cordova ● Codova create hello com.example.hello HelloWorld ● Cordova platform add android ● Cordova build ● Cordova emulate android
  • 9. PhoneGap (cont...) <script type="text/javascript" charset="utf-8" src="cordova.js"></script> <script type="text/javascript" charset="utf-8"> document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { navigator.accelerometer.getCurrentAcceleration(onSuccess, onError); } function onSuccess(acceleration) { alert('Acceleration X: ' + acceleration.x + 'n' + 'Acceleration Y: ' + acceleration.y + 'n' + 'Acceleration Z: ' + acceleration.z + 'n' + 'Timestamp: ' + acceleration.timestamp + 'n'); } function onError() { alert('onError!'); } </script>
  • 10. Appcelerator Titanium ● Recommended to use their Titanium Studio IDE, resembles Aptana Studio ● Can build locally on Windows, Mac, and Linux, given the underlying build tools are available (Xcode and iOS SDK, Android SDK, …) ● Can build distribution packages locally, but you need build tools for each platform
  • 12. MoSync ● You don't have to use their IDE, but it's highly recommended – the provide build tools but they aren't user friendly ● Can build locally, on Mac and Windows only. They have instructions for Linux but it's not an end-to-end developer experience ● Can build distribution packages locally, but you need build tools for each platform
  • 14. MoSync (cont...) <!DOCTYPE html> <html> <head> <script type="text/javascript" charset="utf-8" src="js/wormhole.js"></script> function vibrate() { mosync.bridge.send(["Custom", "Vibrate", "500"]); } document.addEventListener("deviceready", displayDeviceInfo, true); document.addEventListener("backbutton", function() { mosync.app.exit(); }, true); </head> <body> <div class="pane button" onclick="vibrate()">Vibrate</div> </body> </html>