Cross-platform mobile development: choices and limitations [IndicThreads Mobile Application...
-
Upload
indicthreads -
Category
Technology
-
view
4.637 -
download
1
description
Transcript of Cross-platform mobile development: choices and limitations [IndicThreads Mobile Application...
1
Cross-platform mobile development
choices and limitations
Rohit NayakTalentica
2
The mobile marketHow Mobile apps differNative app landscapeCross-platform approachesCloser look at Titanium, PhoneGapOther optionsSummary
Agenda
3
4
Last Gartner report
5
6
7
Always AvailableAlternative Inputs
Tap/Flick/Rotate/Pinch/Shake
LocationAccelerometerLocal StorageOrientationCamera/Contacts/Phone/SMS
How Mobile Differs: Features
8
InterruptionsScreen SizeSpeedMemoryKeyboardBattery Charge
GPS, CPU tick, memory refresh, display
How Mobile Differs: Limitations
9
Criteria for comparison
SmartphonesSocial Network / Enterprise ClientsStandard skillsetUS market
iPhone / Android / Blackberry
Cool factor
10
Cross-platform Apps
Native AppsCross-compiled Native AppsPackaged native browser control
basedHand-crafted browser control basedWeb application
11
Dev Env Distribution Strengths Weaknesses
iPhone Mac/Objective C AppStore, iTunes Uniform experience Tight Control, learning curve, need a Mac
Android Any/Java Android Market, Web Open, Multi-vendor
Non-uniform experience, Version incompatibility, Chaos?!
Blackberry Any/Java App Market Enterprise, Security Support
Symbian Any/QT (C++) Ovi store Market reach Support, C++!, New platform
Windows Mobile Windows/.Net MS Store Microsoft Dev community Very new, closed
Native Apps
12
iPhone Development
Mac-only, Objective-CXCode graphical IDEiPhone simulatorInterface (UI) builder
13
Objective-C
Object-oriented extensions to CMessage passingInterface (UI) builderNo GC on iPhoneCustom URLs (tel://, sms://)
14
Cross-compiled Native Apps
Rhomobile Titanium by AppceleratorMoSync
15
Titanium
HTML/JS/AjaxTitanium DeveloperiPhone / Android / BlackberryDemo
16
Installing Titanium
Install Java 1.6, Android (1.6-2.2)Download/install TitaniumInstall KitchenSink reference appCreate new projectTest on simulatorTest on device
17
Titanium Internals
Converts JS to SymbolsNative compilerAndroid: .class, javaciPhone: .o, gccTranslates HTML to native view
elementsPlugin architecture
18
Titanium - Device APIs
LocationAccelerometerContactsDevice OrientationCameraStorage
19
Titanium - Issues
Complex toolKeeping pace: iPhone 4.0Device support
iPhone biasDoesn’t work as advertised
20
Rhomobile
Supports max devicesNative apps, MVCControllers in Ruby, byte code
interpreted on deviceViews (HTML/CSS) Views rendered in embedded
browserSome UI elements (Tabs/Menu)
native
21
Rhomobile Architecture
22
MoSync
Build toolkit with SDK, Most platforms (Blackberry WIP)C/C++ (Eclipse)Device specific run times
23
Packaged (native browser control)
PhonegapRhomobile UI
24
PhoneGap
HTML/JS/AjaxEclipse Based dev envDevice specific librariesJavascript extensionsDemo
25
PhoneGap Internals
iPhone App FlowJavascript queue/marshallingUIWebView integrationExtending PhoneGap
26
Mobile Web Applications
HTML5!Mobile SafarijQTouchStorage
localStorage, sessionStorage, sql database
27
To Conclude
Native AppsPhoneGapWeb Applications