YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

1

Cross-platform mobile development

choices and limitations

Rohit NayakTalentica

Page 2: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

2

The mobile marketHow Mobile apps differNative app landscapeCross-platform approachesCloser look at Titanium, PhoneGapOther optionsSummary

Agenda

Page 3: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

3

Page 4: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

4

Last Gartner report

Page 5: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

5

Page 6: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

6

Page 7: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

7

Always AvailableAlternative Inputs

Tap/Flick/Rotate/Pinch/Shake

LocationAccelerometerLocal StorageOrientationCamera/Contacts/Phone/SMS

How Mobile Differs: Features

Page 8: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

8

InterruptionsScreen SizeSpeedMemoryKeyboardBattery Charge

GPS, CPU tick, memory refresh, display

How Mobile Differs: Limitations

Page 9: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

9

Criteria for comparison

SmartphonesSocial Network / Enterprise ClientsStandard skillsetUS market

iPhone / Android / Blackberry

Cool factor

Page 10: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

10

Cross-platform Apps

Native AppsCross-compiled Native AppsPackaged native browser control

basedHand-crafted browser control basedWeb application

Page 11: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

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

Page 12: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

12

iPhone Development

Mac-only, Objective-CXCode graphical IDEiPhone simulatorInterface (UI) builder

Page 13: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

13

Objective-C

Object-oriented extensions to CMessage passingInterface (UI) builderNo GC on iPhoneCustom URLs (tel://, sms://)

Page 14: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

14

Cross-compiled Native Apps

Rhomobile Titanium by AppceleratorMoSync

Page 15: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

15

Titanium

HTML/JS/AjaxTitanium DeveloperiPhone / Android / BlackberryDemo

Page 16: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

16

Installing Titanium

Install Java 1.6, Android (1.6-2.2)Download/install TitaniumInstall KitchenSink reference appCreate new projectTest on simulatorTest on device

Page 17: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

17

Titanium Internals

Converts JS to SymbolsNative compilerAndroid: .class, javaciPhone: .o, gccTranslates HTML to native view

elementsPlugin architecture

Page 18: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

18

Titanium - Device APIs

LocationAccelerometerContactsDevice OrientationCameraStorage

Page 19: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

19

Titanium - Issues

Complex toolKeeping pace: iPhone 4.0Device support

iPhone biasDoesn’t work as advertised

Page 20: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

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

Page 21: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

21

Rhomobile Architecture

Page 22: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

22

MoSync

Build toolkit with SDK, Most platforms (Blackberry WIP)C/C++ (Eclipse)Device specific run times

Page 23: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

23

Packaged (native browser control)

PhonegapRhomobile UI

Page 24: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

24

PhoneGap

HTML/JS/AjaxEclipse Based dev envDevice specific librariesJavascript extensionsDemo

Page 25: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

25

PhoneGap Internals

iPhone App FlowJavascript queue/marshallingUIWebView integrationExtending PhoneGap

Page 26: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

26

Mobile Web Applications

HTML5!Mobile SafarijQTouchStorage

localStorage, sessionStorage, sql database

Page 27: Cross-platform mobile development: choices and limitations  [IndicThreads Mobile Application Development Conference]

27

To Conclude

Native AppsPhoneGapWeb Applications


Related Documents