SlideShare a Scribd company logo
Cross Platform
Mobile Applications
https://www.webprogr.com
Topics
Understanding Mobile Apps
• Cross Platform Mobile App Development
• PhoneGap
• Native Mobile App Development
• Hybrid Mobile App Development
Understanding Mobile Apps
Characteristics
Touch based
Accelerometer
Compass
Location aware
Characteristics
Camera and Voice Recording
NFC (Near Field Communication) turning
phone into Credit Card, Access Card, Business
Card Exchanger
Shopping Applications
Characteristics
Push Notification
Notifying the User proactively
Challenges in building Mobile
Applications
Challenges – Mobile App Dev
Windows 7
Fragmentation with many operating systems
Types of Mobile App Dev
• Native Mobile Apps
• Cross Platform Mobile Apps
• Hybrid partly Native partly Cross Platform
Native Mobile Apps
When To
• Long Running Services
• Complex N/W comm.
• Canvas based Apps
• Only Few Platforms
When Not To
• Replica Web Apps
• Standard Restful
• Widget based apps
• Many Platforms
Cross Platform Mobile Apps
When To
• Complex backend Apps
• Standard Restful
• Widget based apps
• Many Platforms
When Not To
• Long Running Services
• Complex N/W comm.
• Canvas based Apps
• Only Few Platforms
Hybrid Mobile Apps
When To
• Fairly Simple UI
• Complex Backend
• Quite few platforms
Why To
• Some parts of app are common
• Rest parts are different
• Use Cross Platform to develop
common part
• Use Native to develop the
weight lifting parts
Cross Platform Mobile App
Development
Cross Platform Strategies
Common
Platform
e.g WebKit
Mapping to
Native
PhoneGap
Apache Cordova
Titanium
Cross Platform
Source Code
WebKit Platform
• All Mobile Platforms have something common that is a
Modern Browser
• All these browsers are based on WebKit - Apple and Android
• Moreover all these platform support showing embedded
browser in Applications ( WebView)
• Strange enough all these WebViews provide hooks from
javascript to java and vice a versa
• In short WebView is the new Virtual Machine 
Mapping to Native Code
• Say Application is written in JavaScript
• The JavaScript code is running in Interpreter
• The Interpreter internally forwards calls to the native code
• Limitation being the you can only map to subset of code
available on all target platforms. 
• OR you allow for fragmentation in api, like Titanium Mobile
does for involving Android services
Mobile App Dev Frameworks
Common Platform
• PhoneGap / Apache
Cordova
• Titanium Desktop
Mapping to Native
• Titanium Mobile
• Rho Mobile
Apache Cordova / PhoneGapMobile app development
PhoneGap / Apache Cordova
• Only platform to support 6 Platforms
PhoneGap Prerequistes
• Need to be acquainted with Android, IOS, BlackBerry, WebOS
• Need to be expert at HTML/Javascript or framework like GWT
• Need to be acquainted with JavaScript libraries like
• Ionic ,Angular.js
• Prototype
• Etc
• Or Ajax framework like GWT
• Use existing IDEs like Eclipse or Xcode, PhoneGap has no IDE
Titanium Mobile
Titanium Architecture
Titanium Prerequistes
• Need to be acquainted with Android, IOS programming
• Need to know JavaScript
• Use Titanium Mobile IDE to configure projects and use Text
IDE to edit the code
Native Mobile App
Development
Native App Development
• Basically you need to hire experts who can
• Build Android, IOS, BB, BlackBerry and Windows mobile apps
• Devs should have experience to deploy apps on market
• Devs should have experience on various devices
• QA should know how to automate things on devices/emulator
• Have concrete plans on
• What is Trial app?
• How does user upgrade?
• Use in app billing to have fine grained control
• Plan for risks if this is your companies first Mobile App
deployment
Hybrid Mobile App
Development
Hybrid App Development
• Have Web Developers for Common UI
• Have native code experts for heavy weight lifting
• Use frameworks like PhoneGap to glue the above two pieces
• Measure at every milestone to keep track of effect of changes
• Use Automation to regress every layer
Comparison
Titanium
• Gives out native app
• API is more proprietary
• UI has Limitations
• UI will be fast
• Much better User Experience
• Portal Code can not be
reused
• Extensions are possible
• Limited support for
HTML/Javascript
PhoneGap
• Gives out a mobile web app
• API is less proprietary
• UI possibilities are unlimited
• UI could be slow
• User Experience will get
better with enhancements
• Portal Code can be reused
• Plugins are possible and easy
to implement
More will come out of discussion, comments are welcome
Conclusion
• Webkit is the next Virtual Machine.
• Js work anywhere
Cross Desktop App Dev
• Following are options worth considering
• Nokia QT (webkit based)
• Titanium Desktop (webkit based)
• Adobe Air (flash based) but slow
• Java
• Many more
JavaScript to Native Channel
• Assume a single channel from Javascript to native and back
from native to Javascript is present
• This Single Channel can provide infinite control to the native
code. One needs to just add more code to the native end and
add new messages for it to be exposed.
• However, understand that Javascript is single threaded and
the callbacks will execute only if there is no javascript running.
Cross platform app
development
For your next mobile app development project for multiplatforms
Contact us at www.webprogr.com/contactus.html
For more on Apache Cordova Phonegap mobile app development here
https://www.webprogr.com/phonegap-experts.html
Phone: +1 703 495 5847 Email: mktg@webprogr.com
Ad

More Related Content

What's hot (20)

Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVM
Jim Bennett
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
Gill Cleeren
 
Universal Windows Platform
Universal Windows PlatformUniversal Windows Platform
Universal Windows Platform
Software Infrastructure
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
bryan costanich
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
Raymond Camden
 
Mobile architecture options
Mobile architecture optionsMobile architecture options
Mobile architecture options
johnsprunger
 
Building hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan PaulBuilding hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan Paul
Xamarin
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Gabriel Huecas
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
Daniel Fikre
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
Muhammad Hakim A
 
Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Development
techugo
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101
Sam Basu
 
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchBuilding Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Axel Buerkle
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015
Mike Melusky
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
Alejandro Ruiz Varela
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
Noam Kfir
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
Sasha Goldshtein
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
Synerzip
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
Ivano Malavolta
 
Android L and So Much More Webinar Slides
Android L and So Much More Webinar SlidesAndroid L and So Much More Webinar Slides
Android L and So Much More Webinar Slides
Xamarin
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVM
Jim Bennett
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
Gill Cleeren
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
bryan costanich
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
Raymond Camden
 
Mobile architecture options
Mobile architecture optionsMobile architecture options
Mobile architecture options
johnsprunger
 
Building hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan PaulBuilding hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan Paul
Xamarin
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Gabriel Huecas
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
Daniel Fikre
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
Muhammad Hakim A
 
Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Development
techugo
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101
Sam Basu
 
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchBuilding Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Axel Buerkle
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015
Mike Melusky
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
Noam Kfir
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
Sasha Goldshtein
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
Synerzip
 
Android L and So Much More Webinar Slides
Android L and So Much More Webinar SlidesAndroid L and So Much More Webinar Slides
Android L and So Much More Webinar Slides
Xamarin
 

Viewers also liked (14)

Cross platform web app development
Cross platform web app developmentCross platform web app development
Cross platform web app development
tomasperezv
 
Towards cross-platfrom application development
Towards cross-platfrom application developmentTowards cross-platfrom application development
Towards cross-platfrom application development
ESUG
 
Cross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with TitaniumCross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with Titanium
Vance Lucas
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical Presentation
Daniel Rocha
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform design
memeapps
 
Most Popular Cross Platform Mobile Development Tools
Most Popular Cross Platform Mobile Development ToolsMost Popular Cross Platform Mobile Development Tools
Most Popular Cross Platform Mobile Development Tools
Grey Matter India Technologies PVT LTD
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
Marcel de Vries
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
saritasingh19866
 
360 Flex Atlanta
360 Flex Atlanta360 Flex Atlanta
360 Flex Atlanta
rtretola
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
bryan costanich
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
Wim Tobback
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#
EastBanc Tachnologies
 
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentationAmsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
ThreeDee Media
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
Friend Porag
 
Cross platform web app development
Cross platform web app developmentCross platform web app development
Cross platform web app development
tomasperezv
 
Towards cross-platfrom application development
Towards cross-platfrom application developmentTowards cross-platfrom application development
Towards cross-platfrom application development
ESUG
 
Cross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with TitaniumCross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with Titanium
Vance Lucas
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical Presentation
Daniel Rocha
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform design
memeapps
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
Marcel de Vries
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
saritasingh19866
 
360 Flex Atlanta
360 Flex Atlanta360 Flex Atlanta
360 Flex Atlanta
rtretola
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
bryan costanich
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
Wim Tobback
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#
EastBanc Tachnologies
 
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentationAmsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
ThreeDee Media
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
Friend Porag
 
Ad

Similar to Cross platform mobile application development (20)

Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Ermias Bayu
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Nick Landry
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
saritasingh19866
 
Phone gap
Phone gapPhone gap
Phone gap
Kevin Lee
 
Mobile app development
Mobile app development  Mobile app development
Mobile app development
Luke Summerfield
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
Barcoding, Inc.
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
Amar Mesic
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
imranq2
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
Mobile Development
Mobile DevelopmentMobile Development
Mobile Development
Alan Uthoff
 
Making the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGapMaking the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGap
Roy Clarkson
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
Brian LeRoux
 
Introduction to Phonegap
Introduction to PhonegapIntroduction to Phonegap
Introduction to Phonegap
Andrei Firoiu
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
Prabhat gangwar
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
Reto Meier
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
Kunjan Thakkar
 
WappZapp Pitch Node JS Meetup
WappZapp Pitch Node JS MeetupWappZapp Pitch Node JS Meetup
WappZapp Pitch Node JS Meetup
Wienke Giezeman
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
Manesh Lad
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Firefox OS Weekend
Firefox OS WeekendFirefox OS Weekend
Firefox OS Weekend
Máté Nádasdi
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Ermias Bayu
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Nick Landry
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
saritasingh19866
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
Barcoding, Inc.
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
Amar Mesic
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
imranq2
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
Mobile Development
Mobile DevelopmentMobile Development
Mobile Development
Alan Uthoff
 
Making the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGapMaking the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGap
Roy Clarkson
 
Introduction to Phonegap
Introduction to PhonegapIntroduction to Phonegap
Introduction to Phonegap
Andrei Firoiu
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
Prabhat gangwar
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
Reto Meier
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
Kunjan Thakkar
 
WappZapp Pitch Node JS Meetup
WappZapp Pitch Node JS MeetupWappZapp Pitch Node JS Meetup
WappZapp Pitch Node JS Meetup
Wienke Giezeman
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
Manesh Lad
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Ad

Cross platform mobile application development

  • 2. Topics Understanding Mobile Apps • Cross Platform Mobile App Development • PhoneGap • Native Mobile App Development • Hybrid Mobile App Development
  • 5. Characteristics Camera and Voice Recording NFC (Near Field Communication) turning phone into Credit Card, Access Card, Business Card Exchanger
  • 8. Challenges in building Mobile Applications
  • 9. Challenges – Mobile App Dev Windows 7 Fragmentation with many operating systems
  • 10. Types of Mobile App Dev • Native Mobile Apps • Cross Platform Mobile Apps • Hybrid partly Native partly Cross Platform
  • 11. Native Mobile Apps When To • Long Running Services • Complex N/W comm. • Canvas based Apps • Only Few Platforms When Not To • Replica Web Apps • Standard Restful • Widget based apps • Many Platforms
  • 12. Cross Platform Mobile Apps When To • Complex backend Apps • Standard Restful • Widget based apps • Many Platforms When Not To • Long Running Services • Complex N/W comm. • Canvas based Apps • Only Few Platforms
  • 13. Hybrid Mobile Apps When To • Fairly Simple UI • Complex Backend • Quite few platforms Why To • Some parts of app are common • Rest parts are different • Use Cross Platform to develop common part • Use Native to develop the weight lifting parts
  • 14. Cross Platform Mobile App Development
  • 15. Cross Platform Strategies Common Platform e.g WebKit Mapping to Native PhoneGap Apache Cordova Titanium Cross Platform Source Code
  • 16. WebKit Platform • All Mobile Platforms have something common that is a Modern Browser • All these browsers are based on WebKit - Apple and Android • Moreover all these platform support showing embedded browser in Applications ( WebView) • Strange enough all these WebViews provide hooks from javascript to java and vice a versa • In short WebView is the new Virtual Machine 
  • 17. Mapping to Native Code • Say Application is written in JavaScript • The JavaScript code is running in Interpreter • The Interpreter internally forwards calls to the native code • Limitation being the you can only map to subset of code available on all target platforms.  • OR you allow for fragmentation in api, like Titanium Mobile does for involving Android services
  • 18. Mobile App Dev Frameworks Common Platform • PhoneGap / Apache Cordova • Titanium Desktop Mapping to Native • Titanium Mobile • Rho Mobile
  • 19. Apache Cordova / PhoneGapMobile app development
  • 20. PhoneGap / Apache Cordova • Only platform to support 6 Platforms
  • 21. PhoneGap Prerequistes • Need to be acquainted with Android, IOS, BlackBerry, WebOS • Need to be expert at HTML/Javascript or framework like GWT • Need to be acquainted with JavaScript libraries like • Ionic ,Angular.js • Prototype • Etc • Or Ajax framework like GWT • Use existing IDEs like Eclipse or Xcode, PhoneGap has no IDE
  • 24. Titanium Prerequistes • Need to be acquainted with Android, IOS programming • Need to know JavaScript • Use Titanium Mobile IDE to configure projects and use Text IDE to edit the code
  • 26. Native App Development • Basically you need to hire experts who can • Build Android, IOS, BB, BlackBerry and Windows mobile apps • Devs should have experience to deploy apps on market • Devs should have experience on various devices • QA should know how to automate things on devices/emulator • Have concrete plans on • What is Trial app? • How does user upgrade? • Use in app billing to have fine grained control • Plan for risks if this is your companies first Mobile App deployment
  • 28. Hybrid App Development • Have Web Developers for Common UI • Have native code experts for heavy weight lifting • Use frameworks like PhoneGap to glue the above two pieces • Measure at every milestone to keep track of effect of changes • Use Automation to regress every layer
  • 29. Comparison Titanium • Gives out native app • API is more proprietary • UI has Limitations • UI will be fast • Much better User Experience • Portal Code can not be reused • Extensions are possible • Limited support for HTML/Javascript PhoneGap • Gives out a mobile web app • API is less proprietary • UI possibilities are unlimited • UI could be slow • User Experience will get better with enhancements • Portal Code can be reused • Plugins are possible and easy to implement More will come out of discussion, comments are welcome
  • 30. Conclusion • Webkit is the next Virtual Machine. • Js work anywhere
  • 31. Cross Desktop App Dev • Following are options worth considering • Nokia QT (webkit based) • Titanium Desktop (webkit based) • Adobe Air (flash based) but slow • Java • Many more
  • 32. JavaScript to Native Channel • Assume a single channel from Javascript to native and back from native to Javascript is present • This Single Channel can provide infinite control to the native code. One needs to just add more code to the native end and add new messages for it to be exposed. • However, understand that Javascript is single threaded and the callbacks will execute only if there is no javascript running.
  • 33. Cross platform app development For your next mobile app development project for multiplatforms Contact us at www.webprogr.com/contactus.html For more on Apache Cordova Phonegap mobile app development here https://www.webprogr.com/phonegap-experts.html Phone: +1 703 495 5847 Email: [email protected]