Cross Platform Mobile App
Development
in Review
Presented by: Joseph Payette, CTO
Native
● Use native build tools to create binary
compatible application packages
● Use existing application distribution c...
Hybrid Frameworks (a few)
PhoneGap/Apache Cordova
Use HTML5, Javascript, & CSS for UI, and Bridge API to
acces native feat...
Hybrid
●Use framework specific build tools to build a
native application shell with an embedded web
browser as the present...
HTML5
●Use the same build tools for creating web
applications, HTML5, Javascript, & CSS
●Application distribution channels...
PhoneGap
● No need for an IDE, can use regular text editor
● Can build locally on Windows, Mac, and Linux,
given the under...
PhoneGap (Cont...)
● Sudo npm install -g cordova
● Codova create hello com.example.hello
HelloWorld
● Cordova platform add...
PhoneGap (cont...)
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript...
Appcelerator Titanium
● Recommended to use their Titanium Studio
IDE, resembles Aptana Studio
● Can build locally on Windo...
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 frien...
MoSync (cont...)
MoSync (cont...)
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="js/wormhole.js"></scrip...
Cross Platform Mobile App Development
Upcoming SlideShare
Loading in …5
×

Cross Platform Mobile App Development

2,675 views

Published on

Greane Tree Technology CTO Joseph Payette gave our latest “Lunch & Learn” presentation. With the number of tools and frameworks for cross platform mobile application development increasing every year, it can be a challenge to determine the best fit technology for a mobile project. All of these tools and frameworks have their advantages and disadvantages, as they leverage different mechanisms for abstracting differences across mobile devices in an effort to provide a single platform for rapid application development. To bring order to the various options at hand, Joe reviewed mobile application architectures (native, hybrid, and HTML5), and explored and compared a few hybrid tools and frameworks, namely PhoneGap (www.phonegap.com), Appcelerator (www.appcelerator.com), and MoSync (www.mosync.com). Joe’s mobile application development presentation includes sample code for these three tools and frameworks.

The Lunch and Learn series is a regular event where we discuss topics of interest to our projects and clients. Last month, Chad Calhoun explored Git Interactive Techniques.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,675
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cross Platform Mobile App Development

  1. 1. Cross Platform Mobile App Development in Review Presented by: Joseph Payette, CTO
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. PhoneGap (Cont...) ● Sudo npm install -g cordova ● Codova create hello com.example.hello HelloWorld ● Cordova platform add android ● Cordova build ● Cordova emulate android
  8. 8. 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>
  9. 9. 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
  10. 10. Appcelerator Titanium (cont...)
  11. 11. 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
  12. 12. MoSync (cont...)
  13. 13. 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>

×