Sustainable Technologies for Mobile Applications
Total Page:16
File Type:pdf, Size:1020Kb
Sustainable Technologies for Mobile Applications Approved: ____________________________________________ Date: _________________ Prof. Dr. Christoph Wentzel - Committee Chair Approved: ____________________________________________ Date: _________________ Prof. Qi Yang, Ph.D. - Committee Member Approved: ____________________________________________ Date: _________________ Prof. Dr. Bernhard Kreling - Committee Member Sustainable Technologies for Mobile Applications A Thesis presented to the Graduate Faculties University of Wisconsin Platteville (UWP) and University of Applied Sciences Darmstadt (h_da) In Partial Fulfillment of the Requirement for the Degree Master of Science By Simon Heckmann Committee Chair: Prof. Dr. Christoph Wentzel (h_da) Committee Member: Prof. Dr. Bernhard Kreling (h_da) Committee Member: Prof. Qi Yang, Ph.D. (UWP) Start date: 02/16/2011 End date: 08/16/2011 Statement of Authorship Statement of Authorship I hereby declare that this thesis is written on my own solely by using the sources quoted in the thesis body. All contents (including text, figures, and tables), which are taken from sources, both verbally and in terms of meanings, are clearly marked and referenced. The thesis has not been previously submitted to any other examination board, neither in this nor in a similar form. ___________________________________ Simon Heckmann i Acknowledgments Acknowledgments First of all I would like to thank my advising professors, Dr. Wentzel, Dr. Yang and Dr. Kreling for helping me with this thesis. The great discussions about my ideas, results and findings helped me a lot during the entire creation process of this document. Secondly, I owe special thanks to my supervisors and colleges at Merck for their great sug- gestions and support. Especially, I would like to thank Dr. Michaela Bühler and Matthias Feldmann for their professional guidance and continuous motivation to tackle the challenges of this thesis. Furthermore, I want to thank Matthias Schwab, who never got tired of answer- ing my continuous questions about the current Merck Toolbox implementation. Furthermore, I want thank everyone who spent their valuable time proofreading and cor- recting this thesis. Last but not least, I would like to thank my family in particular my parents and my fiancé Christine for their great support. Your love, open ears and continuous motivation kept me going. Thank you for seeing the best in me and being there for me no matter what! You all made it happen! Thank you! ii English Abstract English Abstract With the continuously increasing availability of powerful mobile devices such as smartphones, tablets and notebook computers it is now possible to provide sophisticated software applications that can be used anywhere and anytime. However, when developing such mobile applications, developers find themselves confronted with a broad variety of different operating systems and hardware platforms. Unfortunately, each of these comes with support for different programming languages, development frameworks and libraries. An application that runs on one device can often not be easily run on another. Therefore, the process of bringing an application to many different mobile devices is often a time con- suming and expensive endeavor. As this thesis shows, using standardized and open web technologies such as the HyperText Markup Language, Cascading Style Sheets and JavaScript provides a feasible way to develop mobile applications for a broad variety of different mobile platforms in a cost-efficient way. Nevertheless, until today such open standard web applications are not yet entirely capable of competing with native applications or web applications with plugins as they still lack some capabilities. Fortunately, this is about to change as many new upcoming web standards and specifications are about to address these limitations. This thesis discusses why such web applications support nearly every available platform and how the upcoming standard candidates will allow open web applications to compete with native and plugin-based approaches and thereby save money by reducing development, deployment and maintenance costs. iii German Abstract German Abstract Mit der kontinuierlich wachsenden Verfügbarkeit von leistungsstarken mobilen Endgeräten, wie beispielsweise Smartphones, Tablets und Notebook Computern, ist es inzwischen mög- lich, komplexe Softwareanwendungen zu entwickeln, die zu jeder Zeit und an jedem Ort ver- fügbar sind. Bei der Entwicklung solcher mobilen Anwendungen werden Entwickler jedoch oft mit der großen Vielfalt an verschiedenen Betriebssystemen und Hardwareplattformen konfrontiert. Leider unterstützt jede davon unterschiedliche Programmiersprachen und Entwicklungsbibliotheken. Eine Anwendung, die auf einem mobilen Endgerät läuft, ist daher oft nicht zwingend ohne weiteres auch auf anderen Geräten lauffähig. Das Erstellen von An- wendungen für eine Vielzahl von mobilen Endgeräten ist daher oft ein zeitaufwendiges und kostenintensives Unterfangen. Wie in dieser Arbeit gezeigt wird, bieten standardisierte und offene Webtechnologien, wie beispielsweise Hypertext Markup Language, Cascading Style Sheets und JavaScript einen praktikablen Weg, kosteneffizient mobile Anwendungen für viele unterschiedlicher Geräte zu entwickeln. Trotzdem sind solche offenen Webanwendungen bis heute noch nicht in der Lage, es in allen Bereichen mit nativen Anwendungen oder Plugin-basierten Webanwendun- gen aufzunehmen, da ihnen noch einige Fähigkeiten fehlen. Glücklicherweise sind bereits weitere Webstandards und Spezifikationen in Arbeit, die diese momentanen Unzulänglich- keiten beheben sollen. In dieser Arbeit wird ausführlich diskutiert, wie es Webanwendungen auf eine einfache Art und Weise gestatten, plattformübergreifend zu entwickeln. Weiterhin wird erläutert, wie die angehenden Standards webbasierte Anwendungen ermöglichen, die in der Lage sind, es mit nativen oder Plugin-basierten Ansätzen aufzunehmen und wie gleichzeitig Entwicklungs-, Bereitstellungs- und Wartungskosten reduziert werden können. iv Table of Contents Table of Contents 1. Introduction 1 1.1. Goal ................................................................................................................... 2 1.2. Differentiation .................................................................................................. 3 1.3. Thesis Overview ................................................................................................ 4 2. Mobile Application Development 5 2.1. Classification of Mobile Computing Devices ..................................................... 5 2.2. Development platforms .................................................................................... 9 2.2.1. Operating Systems ........................................................................... 9 2.2.2. Programming Languages and Frameworks .................................... 11 2.3. Summary ......................................................................................................... 16 3. Web Applications 18 3.1. Architecture of Web Applications ................................................................... 19 3.2. Standardization Organizations ........................................................................ 21 3.2.1. World Wide Web Consortium ........................................................ 21 3.2.2. Web Hypertext Application Technology Working Group .............. 24 3.2.3. Khronos Group ............................................................................... 25 3.2.4. ECMA International ........................................................................ 26 3.3. Terminology .................................................................................................... 26 3.4. Web browsers ................................................................................................. 29 3.5. Future Web Standard Candidates ................................................................... 32 3.5.1. Presentation tier ............................................................................ 32 3.5.2. Logic tier ........................................................................................ 39 3.5.3. Data tier ......................................................................................... 43 3.5.4. Featured Technologies ................................................................... 45 3.6. Prefixing .......................................................................................................... 46 3.7. Compatibility Tests and Ratings ...................................................................... 47 v Table of Contents 3.8. Summary ......................................................................................................... 48 4. Feasibility Analysis 50 4.1. Merck Toolbox ................................................................................................ 50 4.2. Implementing the Prototype .......................................................................... 51 4.3. Open Issues ..................................................................................................... 56 4.4. Platform Independence .................................................................................. 57 4.5. Web Applications on iOS ................................................................................. 60 4.6. Summary ......................................................................................................... 61 5. Conclusion and Outlook