Upload
webprogrcom
View
123
Download
2
Embed Size (px)
Citation preview
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 NotificationNotifying 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 AppsWhen 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 AppsWhen 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 AppsWhen 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 FrameworksCommon 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
ComparisonTitanium
• 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 multiplatformsContact us at www.webprogr.com/contactus.html
For more on Apache Cordova Phonegap mobile app development herehttps://www.webprogr.com/phonegap-experts.html
Phone: +1 703 495 5847 Email: [email protected]