Evaluation of cross-platform frameworks for mobile applications

7cbae0b6c3348182a2a6968f52b21b89?s=47 Stephan Krusche
February 26, 2013

Evaluation of cross-platform frameworks for mobile applications

Presentation about cross-platform frameworks for mobile applications at ME13: http://www1.in.tum.de/me13
Authors: Andreas Sommer & Stephan Krusche

7cbae0b6c3348182a2a6968f52b21b89?s=128

Stephan Krusche

February 26, 2013
Tweet

Transcript

  1. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer, Stephan

    Krusche Chair for Applied Software Engineering Technische Universität München (26.02.2013)
  2. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Introduction • Increasing demand for mobile applications [Syb11] • High effort and costs to implement applications for multiple platform • Native SDKs result in responsive applications with native look and feel • A common code base could reduce time and effort for implementing and deploying an application to multiple platforms • 55% of production costs pertain to development and debugging [Vis12] ➡great savings could be achieved regarding invested time and resource for development 2
  3. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Fragmentation of mobile platforms 3 3% 3% 4% 21% 70% Android iOS BlackBerry Microsoft Other Worldwide Smartphone Sales Q4 2012, http://www.gartner.com/newsroom/id/2335616 3% 4% 61% 32% Android iOS Microsoft Other Worldwide Tablet Sales 2012, http://www.gartner.com/newsroom/id/1980115 Tablets Smartphones
  4. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Fragmentation within the same operating system 4 10.3% 45.7% 1.3% 29.0% 13.6% Jelly Bean (4.1 & 4.2) Ice Cream Sandwich (4.0) Honeycomb (3.x) Gingerbread (2.3) Eclair & Froyo (2.1 & 2.2) Android, Fragmentation on February 4, 2013 http://developer.android.com/about/dashboards/index.html 3.7% 11.9% 22.8% 61.5% iOS 6.1 iOS 6.0 iOS 5 Earlier iOS U.S. and Canadian iOS mobile web traffic on February 25, 2013 http://chitika.com/ios-version-distribution-update Android iOS
  5. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Research questions • How can developers deploy their source code • to multiple platforms and • multiple versions of the same platform • without maintaining source code for multiple platforms in different programming languages? • Is it possible to develop applications in the same quality, but to save development and maintenance costs? 5
  6. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Motivation 6
  7. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Motivation • “Develop once, deploy everywhere” 7 Application Source Code
  8. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Reappearance of a problem for PC platforms 8
  9. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Mobile cross-platform solutions 9
  10. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Objectives and questions • Evaluation of cross-platform frameworks for the development of mobile business apps • From the point of view of the developing company • Are platform independent solutions competitive against native SDKs? • Where are differences? • Is HTML5 already suitable for mobile apps? 10
  11. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Comparison • More than 30 frameworks considered (currently more than 80 frameworks / SDKs already available [1]) • Selection of 3 promising approaches for the detailed evaluation • Titanium (2.0) • Rhodes (3.3) • PhoneGap (2.0) with SenchaTouch (2.0) • Against 2 native SDKs • Android SDK (v10) • iOS SDK (5.1) 11 [1] https://en.wikipedia.org/wiki/Mobile_application_development#Platform_development_environment
  12. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Comparison 12 Category Weight Functionality 4 Usability features 3 Developer support 2 Reliability & Performance 3 Deployment, Supportability, Costs 5 (1 = least important, 5 = most important)
  13. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Titanium (2.0) 13 Legend: application framework virtual machine
  14. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Rhodes (3.3) 14 Legend: application framework virtual machine
  15. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche PhoneGap (2.0) & Sencha Touch (2.0) 15 Legend: application framework virtual machine
  16. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Sample business app 16
  17. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Results 17 Category Weight Titanium Rhodes PhoneGap & Sencha Touch Android SDK iOS SDK Functionality 4 3 2 3 4 4 Usability features 3 4 3 3 5 5 Developer support 2 4 3 4 4 4 Reliability & Performance 3 3 2 2 4 5 Deployment, Supportability, Costs 5 4 4 4 4 3 Rounded final score Rounded final score 3.6 2.9 3.2 4.2 4.1 Legend: 1 = not fulfilled, 2 = poorly fulfilled 3 = basic expectations met, 4 = more than fulfilled 5 = all expectations completely fulfilled or exceeded.
  18. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Functionality • Cross-platform solutions support almost all basic functionality • app lifecycle (except Rhodes) • access to built-in hardware (e.g. sensors, camera) • networking • file system access • All of them are extensible by native code • Slightly behind native SDKs because specific functionality not implemented or abstracted 18 Category Weight Titanium Rhodes PhoneGap & Sencha Touch Android SDK iOS SDK Functionality 4 3 2 3 4 4
  19. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Usability Features • Titanium is the only framework that supports native UI components (buttons, lists, etc.) • PhoneGap and Rhodes based on HTML ➡Hard to achieve native user experience ➡Native SDKs win this category • Cross-platform frameworks support all basic features and common types of UI components • HTML frameworks: Almost zero effort for porting 19 Category Weight Titanium Rhodes PhoneGap & Sencha Touch Android SDK iOS SDK Usability features 3 4 3 3 5 5
  20. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Developer support • IDE provided except for PhoneGap • High learning effort for Rhodes (Ruby & JavaScript) • Full debugging capabilities • Documentation quality adequate • Not much difference to native SDKs 20 Category Weight Titanium Rhodes PhoneGap & Sencha Touch Android SDK iOS SDK Developer support 2 4 3 4 4 4
  21. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Reliability & Performance • Native SDKs still way ahead in performance • JavaScript probably bad choice (lacks multithreading) • Titanium near to native speed, but misses methods for efficient loading of large images • Rhodes unusably slow • PhoneGap quite slow with Sencha Touch, but can be very performant with other UI frameworks (e.g. jQuery Mobile) or plain HTML • Reliability is acceptable with all solutions 21 Category Weight Titanium Rhodes PhoneGap & Sencha Touch Android SDK iOS SDK Reliability & Performance 3 3 2 2 4 5
  22. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Development, Supportability, Costs • Professional support available • All solutions free to use and with free support (forums etc.) • Native SDKs have larger community • iOS more expensive to develop and only offers basic translation support (which was improved in iOS 6.0) 22 Category Weight Titanium Rhodes PhoneGap & Sencha Touch Android SDK iOS SDK Deployment, Supportability, Costs 5 4 4 4 4 3
  23. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Recommendation: General 23 • “Write once, deploy everywhere” is possible • Less to no effort for porting the application • Functionality and quality are not much behind native SDKs • Major problems • Usability of the graphical user interface • Performance • Some frameworks can be recommended • Titanium • PhoneGap
  24. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Recommendation: Selection of a framework 24 Criteria Titanium Rhodes PhoneGap / Sencha Touch HTML support ✔ ✔ ✔ Native components ✔ ↹ ↹ Performance ✔ ✗ ↹ Deployment as website ✗ ✗ ✔ Active development of the vendor ✔ ✔ ✔
  25. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Counter example: Facebook • Facebook used mainly HTML5 for more than 2 years • In August 2012, they rebuilt their apps for iOS and Android completely using mostly native SDKs due to • Usability and user experience issues • Performance problems • Limited features: many device APIs not yet implemented [HHM12] 25 https://www.facebook.com/notes/facebook- engineering/ under-the-hood-rebuilding-facebook-for-ios/10151036091753920
  26. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Marc Zuckerberg • “It was our biggest strategic mistake that we were betting too much on HTML5.” • “We just were not able get the quality that we wanted.” • “We burned 2 years and that’s really painful.” 26 http://www.rogiernoort.com/mark-zuckerberg-native-apps-for-ios-and-android-are-the-future/
  27. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche Conclusion • Cross-platform frameworks recommended for high code reuse and fast deployment to multiple platforms • HTML very portable and customizable, but still too slow • PhoneGap: Good compromise between HTML and performance • Titanium: Best performance of the evaluated cross- platform solutions • Native SDK should be chosen if • user experience is important or native UI is required • performance is a concern 27
  28. Evaluation of cross-platform frameworks for mobile applications Andreas Sommer Stephan

    Krusche References 28 [Vis12] VisionMobile, Developer Economics 2012. http:// www.visionmobile.com/ product/developer-economics-2012, June 2012 [Syb11] Sybase Inc. Enterprise, Mobility Guide 2011. http://www.sybase.de/ mobilityguide, 2011 [Ado12] Adobe Systems Inc., PhoneGap. http://phonegap.com, December 2012 [App12] Appcelerator Inc., Appcelerator Titanium. https://www.appcelerator.com/ platform, December 2012 [Mot12] Motorola Solutions Inc., RhoMobile Suite. http://rhomobile.com, December 2012. [Sen12] Sencha Inc, Sencha Touch. https://www.sencha.com/products/touch, December 2012. [HHM12] Frederick Hirsch and Dominique Hazae ̈l-Massieux. Device APIs Working Group. http://www.w3.org/2009/dap, December 2012. Master’s Thesis Sommer http://andidog.de/projects/#master-thesis