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

Cross platform mobile application development

  • 1.
  • 2.
    Topics Understanding Mobile Apps •Cross Platform Mobile App Development • PhoneGap • Native Mobile App Development • Hybrid Mobile App Development
  • 3.
  • 4.
  • 5.
    Characteristics Camera and VoiceRecording NFC (Near Field Communication) turning phone into Credit Card, Access Card, Business Card Exchanger
  • 6.
  • 7.
  • 8.
    Challenges in buildingMobile Applications
  • 9.
    Challenges – MobileApp Dev Windows 7 Fragmentation with many operating systems
  • 10.
    Types of MobileApp Dev • Native Mobile Apps • Cross Platform Mobile Apps • Hybrid partly Native partly Cross Platform
  • 11.
    Native Mobile Apps WhenTo • 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 MobileApps 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 WhenTo • 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 MobileApp Development
  • 15.
    Cross Platform Strategies Common Platform e.gWebKit Mapping to Native PhoneGap Apache Cordova Titanium Cross Platform Source Code
  • 16.
    WebKit Platform • AllMobile 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 NativeCode • 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 DevFrameworks Common Platform • PhoneGap / Apache Cordova • Titanium Desktop Mapping to Native • Titanium Mobile • Rho Mobile
  • 19.
    Apache Cordova /PhoneGapMobile app development
  • 20.
    PhoneGap / ApacheCordova • Only platform to support 6 Platforms
  • 21.
    PhoneGap Prerequistes • Needto 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
  • 22.
  • 23.
  • 24.
    Titanium Prerequistes • Needto 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
  • 25.
  • 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
  • 27.
  • 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 outnative 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 isthe next Virtual Machine. • Js work anywhere
  • 31.
    Cross Desktop AppDev • 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 NativeChannel • 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 Foryour 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