33
Cross Platform Mobile Applications https://www.webprogr.com

Cross platform mobile application development

Embed Size (px)

Citation preview

Page 1: Cross platform mobile application development

Cross Platform Mobile Applications

https://www.webprogr.com

Page 2: Cross platform mobile application development

Topics

Understanding Mobile Apps• Cross Platform Mobile App Development

• PhoneGap• Native Mobile App Development• Hybrid Mobile App Development

Page 3: Cross platform mobile application development

Understanding Mobile Apps

Page 4: Cross platform mobile application development

Characteristics

Touch based

Accelerometer

Compass Location aware

Page 5: Cross platform mobile application development

Characteristics

Camera and Voice Recording

NFC (Near Field Communication) turning phone into Credit Card, Access Card, Business Card Exchanger

Page 6: Cross platform mobile application development

Shopping Applications

Page 7: Cross platform mobile application development

Characteristics

Push NotificationNotifying the User proactively

Page 8: Cross platform mobile application development

Challenges in building Mobile Applications

Page 9: Cross platform mobile application development

Challenges – Mobile App Dev

Windows 7

Fragmentation with many operating systems

Page 10: Cross platform mobile application development

Types of Mobile App Dev

• Native Mobile Apps• Cross Platform Mobile Apps• Hybrid partly Native partly Cross Platform

Page 11: Cross platform mobile application development

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

Page 12: Cross platform mobile application development

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

Page 13: Cross platform mobile application development

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

Page 14: Cross platform mobile application development

Cross Platform Mobile App Development

Page 15: Cross platform mobile application development

Cross Platform Strategies

Common Platform

e.g WebKit

Mapping to Native

PhoneGap Apache Cordova

Titanium

Cross Platform Source Code

Page 16: Cross platform mobile application development

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

Page 17: Cross platform mobile application development

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

Page 18: Cross platform mobile application development

Mobile App Dev FrameworksCommon Platform

• PhoneGap / Apache Cordova

• Titanium Desktop

Mapping to Native

• Titanium Mobile• Rho Mobile

Page 19: Cross platform mobile application development

Apache Cordova / PhoneGapMobile app development

Page 20: Cross platform mobile application development

PhoneGap / Apache Cordova

• Only platform to support 6 Platforms

Page 21: Cross platform mobile application development

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

Page 22: Cross platform mobile application development

Titanium Mobile

Page 23: Cross platform mobile application development

Titanium Architecture

Page 24: Cross platform mobile application development

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

Page 25: Cross platform mobile application development

Native Mobile App Development

Page 26: Cross platform mobile application 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

Page 27: Cross platform mobile application development

Hybrid Mobile App Development

Page 28: Cross platform mobile application 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

Page 29: Cross platform mobile application development

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

Page 30: Cross platform mobile application development

Conclusion

• Webkit is the next Virtual Machine.

• Js work anywhere

Page 31: Cross platform mobile application development

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

Page 32: Cross platform mobile application development

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.

Page 33: Cross platform mobile application development

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]