Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

Session Presented at 1st Conference On Mobile Application Development held on 19-20 November 2010 in Pune, India


Speaker: Rohit Nayak


Mobile development is still in a nascent stage. New platforms keep emerging and old ones regularly undergo major changes. To confuse matters further there are several cross-platform tools each claiming to use a single codebase to target multiple phones. What is a developer to do?

In this talk we will look at some of the key cross-platform mobile platforms out there including Appcelarator Titanium, PhoneGap and MoSync. We will start out by reviewing the different mobile platforms and development environments before reviewing the landscape of cross-platform tools. We will discuss the different design approaches used by these platforms to support their target smart-phones. Quick demos using a few of these platforms will be shown so that the audience will get a flavor of the low level coding details as well as supporting tools like IDEs and simulators provided. Java and QT are traditional cross-platform environments which have a place in mobile development as well. We will take a quick look at support available for these on mobile platforms. Finally we compare the different approaches in terms of functional limitations, programming complexity, deployment and lock-in.

Takeaways from the session
Review of the mobile single platform and cross platform landscape
Should I look at cross-platform development or not?
Which cross-platform tools make sense for me?
What kind of developers do I need for cross-platform development?


  • Be the first to comment

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

  1. 1. 1 Cross-platform mobile development choices and limitations Rohit Nayak Talentica
  2. 2. 2 The mobile market How Mobile apps differ Native app landscape Cross-platform approaches Closer look at Titanium, PhoneGap Other options Summary Agenda
  3. 3. 3
  4. 4. 4 Last Gartner report
  5. 5. 5
  6. 6. 6
  7. 7. 7 Always Available Alternative Inputs  Tap/Flick/Rotate/Pinch/Shake Location Accelerometer Local Storage Orientation Camera/Contacts/Phone/SMS How Mobile Differs: Features
  8. 8. 8 Interruptions Screen Size Speed Memory Keyboard Battery Charge GPS, CPU tick, memory refresh, display How Mobile Differs: Limitations
  9. 9. 9 Criteria for comparison Smartphones Social Network / Enterprise Clients Standard skillset US market iPhone / Android / Blackberry Cool factor
  10. 10. 10 Cross-platform Apps Native Apps Cross-compiled Native Apps Packaged native browser control based Hand-crafted browser control based Web application
  11. 11. 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. 12. 12 iPhone Development Mac-only, Objective-C XCode graphical IDE iPhone simulator Interface (UI) builder
  13. 13. 13 Objective-C Object-oriented extensions to C Message passing Interface (UI) builder No GC on iPhone Custom URLs (tel://, sms://)
  14. 14. 14 Cross-compiled Native Apps Rhomobile Titanium by Appcelerator MoSync
  15. 15. 15 Titanium HTML/JS/Ajax Titanium Developer iPhone / Android / Blackberry Demo
  16. 16. 16 Installing Titanium Install Java 1.6, Android (1.6-2.2) Download/install Titanium Install KitchenSink reference app Create new project Test on simulator Test on device
  17. 17. 17 Titanium Internals Converts JS to Symbols Native compiler Android: .class, javac iPhone: .o, gcc Translates HTML to native view elements Plugin architecture
  18. 18. 18 Titanium - Device APIs  Location Accelerometer Contacts Device Orientation Camera Storage
  19. 19. 19 Titanium - Issues Complex tool Keeping pace: iPhone 4.0 Device support iPhone bias Doesn’t work as advertised
  20. 20. 20 Rhomobile Supports max devices Native apps, MVC Controllers in Ruby, byte code interpreted on device Views (HTML/CSS) Views rendered in embedded browser Some UI elements (Tabs/Menu) native
  21. 21. 21 Rhomobile Architecture
  22. 22. 22 MoSync Build toolkit with SDK, Most platforms (Blackberry WIP) C/C++ (Eclipse) Device specific run times
  23. 23. 23 Packaged (native browser control) Phonegap Rhomobile UI
  24. 24. 24 PhoneGap HTML/JS/Ajax Eclipse Based dev env Device specific libraries Javascript extensions Demo
  25. 25. 25 PhoneGap Internals iPhone App Flow Javascript queue/marshalling UIWebView integration Extending PhoneGap
  26. 26. 26 Mobile Web Applications HTML5! Mobile Safari jQTouch Storage localStorage, sessionStorage, sql database
  27. 27. 27 To Conclude Native Apps PhoneGap Web Applications