Master Thesis (Duplex, for Printing)
Total Page:16
File Type:pdf, Size:1020Kb
Comparison and evaluation of cross-platform frameworks for the development of mobile business applications Master’s Thesis in Informatik Fakultät für Informatik Technische Universität München Andreas Sommer Oktober 2012 Comparison and evaluation of cross-platform frameworks for the development of mobile business applications — Vergleich und Evaluierung plattformunabhängiger Frameworks für die Entwicklung mobiler Business- Anwendungen Master’s Thesis in Informatik Lehrstuhl für Angewandte Softwaretechnik Fakultät für Informatik Technische Universität München Bearbeiter: Andreas Sommer Aufgabensteller: Prof. Bernd Brügge, Ph.D. Betreuer: M.Sc. Stephan Krusche Abgabedatum: 15.10.2012 Erklärung Erklärung Ich versichere hiermit, dass ich diese Master’s Thesis selbständig verfasst und nur die angegebenen Quellen und Hilfsmittel verwendet habe. I assure the single handed composition of this master’s thesis, only supported by declared resources. Datum, Ort Unterschrift I Abstract English Abstract English The recent growth in market share of smartphones brings companies to enter the market of mobile applications. Recent research shows that businesses tend to require mobile applications with shorter development and life cycles in order to improve worker productivity and react to market changes and customer needs. Thus, it is important to develop business applications on mobile platforms with effort and cost efficiency, and to fulfill user experience expectations. Considering only a single mobile platform, the vendor-supported SDK typically fulfills all requirements for developing an application, such as mature development tools, the ability to use device functionality and well-designed, highly usable user interface components. Native applications often have a uniform look and behavior, deliver high performance and can utilize the capabilities of the underlying device, such as acceleration sensors or a built-in camera. However, the quantity of popular mobile platforms (Android, iOS, BlackBerry, Windows Phone, etc.) suggests that additional effort and resources are necessary if the application is developed separately for each platform, using the native SDKs. This master’s thesis compares and evaluates different solutions that allow for a mostly platform- independent development on mobile platforms. Different categories are compared, including support for native device functionality, developer tool support, reliability, UI performance and features, costs, deployment and supportability. As base for the evaluation, a well-defined sample business application is developed with each of the cross-platform solutions and with two native SDKs. In order to put the results in a meaningful context, the cross-platform solutions are compared with native development based on the same set of criteria. The comparison concludes with an evaluation based on objective scores and subjective experiences. Finally, this thesis gives a conclusion and recommendations, stating whether the cross-platform approach should be preferred to native development, and in which cases it is not worthwhile, regarding aspects of typical business applications. II Abstract German German Durch den steigenden Marktanteil von Smartphones drängen immer mehr Unternehmen auf den Markt der mobilen Anwendungen. Jüngste Studien zeigen, dass Unternehmen häufig mobile Anwendungen mit kürzeren Entwicklungs- und Lebenszyklen benötigen, um die Mitarbeiterproduktivität zu verbessern und auf Marktänderungen und Kundenwünsche einzugehen. Deshalb ist eine zeit- und kosteneffiziente Entwicklung von Business- Anwendungen auf mobilen Plattformen und die Erfüllung von Erwartungen an die Benutzerfreundlichkeit sehr wichtig. Betrachtet man eine einzelne Plattform, erfüllt das vom Plattformanbieter bereitgestellte SDK üblicherweise alle Anforderungen der Anwendungsentwicklung, wie z.B. ausgereifte Entwicklungswerkzeuge, Unterstützung von Gerätefunktionalität und durchdachte, einfach nutzbare Bedienelemente. Native Anwendungen haben oft ein einheitliches Aussehen und Verhalten, bieten hohe Performanz und können die Möglichkeiten des Geräts, z.B. einen Beschleunigungssensor oder eine eingebaute Kamera, ausnutzen. Jedoch deutet die Anzahl beliebter mobiler Plattformen (Android, iOS, BlackBerry, Windows Phone etc.) darauf hin, dass mit der Anwendungsentwicklung zusätzlicher Aufwand und Ressourcen notwendig sind, wenn jeweils separat mit dem nativen SDK entwickelt wird. Diese Masterarbeit vergleicht und bewertet verschiedene Lösungen, die eine größtenteils plattformunabhängige Entwicklung auf mobilen Plattformen ermöglichen. Verschiedene Kategorien werden bewertet – darunter Unterstützung für Gerätefunktionen, Entwicklungsunterstützung und -werkzeuge, Verlässlichkeit, Performanz und Features der Benutzeroberfläche, Kosten, Auslieferung, Portierbarkeit und Wartbarkeit. Als Grundlage für die Bewertung wird eine wohldefinierte, beispielhafte Business-Anwendung mit jeder plattformunabhängigen Lösung und mit zwei nativen SDKs entwickelt. Um die Ergebnisse in ein Verhältnis setzen zu können, werden die plattformunabhängigen Lösungen anhand derselben ausgewählten Kriterien mit nativer Entwicklung verglichen. Der Vergleich schließt mit einer Bewertung, der ein objektives Punktesystem und subjektive Erfahrungen zugrunde liegen. Zum Schluss gibt diese Arbeit ein Fazit und Empfehlungen darüber, ob und in welchen Fällen es lohnenswert ist, eine plattformunabhängige Lösung anstatt nativer Entwicklung als Entwicklungsansatz zu verwenden, wenn man typische Aspekte einer Business-Anwendung berücksichtigt. III Table of contents Table of contents Erklärung ................................................................................................................. I Abstract .................................................................................................................. II English ................................................................................................................................................................ II German ............................................................................................................................................................ III Table of contents ................................................................................................... IV Abbreviations and glossary .................................................................................... VI List of tables ........................................................................................................... IX List of figures.......................................................................................................... IX 1 Introduction ..................................................................................................... 1 1.1 Motivation ......................................................................................................................................... 3 1.2 Reappearance of an old problem on personal computers .............................................. 4 1.3 Mobile platforms and cross-platform development ......................................................... 6 1.4 Related work and topic distinction ....................................................................................... 10 1.5 Proceeding ...................................................................................................................................... 12 2 Cross-platform and native mobile development ............................................. 13 2.1 Frameworks ................................................................................................................................... 13 2.2 Cross-platform mobile frameworks and potential advantages .................................. 13 2.3 Types of cross-platform frameworks ................................................................................... 15 2.3.1 Purely web-based applications and distinction to mobile applications ........................... 16 2.3.2 Hybrid applications primarily using web technology ....................................................... 18 2.3.3 Hybrid applications with compiled or interpreted code .................................................. 19 2.3.4 Other types ....................................................................................................................... 20 3 Comparison procedure ................................................................................... 21 3.1 Mobile business applications ................................................................................................... 21 3.2 Methodology .................................................................................................................................. 23 3.2.1 Criteria .............................................................................................................................. 23 3.2.2 Summary of considered criteria ....................................................................................... 31 3.2.3 Evaluation with scores...................................................................................................... 31 3.2.4 Time measurements ......................................................................................................... 33 3.3 Selection of considered frameworks .................................................................................... 34 4 Comparison of the frameworks .....................................................................