Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Evaluation of cross-platform frameworks for mobile applications

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

Stephan Krusche

February 26, 2013
Tweet

More Decks by Stephan Krusche

Other Decks in Research

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)

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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)

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  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.

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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
    ✔ ✔ ✔

    View Slide

  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

    View Slide

  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/

    View Slide

  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

    View Slide

  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

    View Slide