Untersuchung Plattformübergreifende Entwicklungsansätze Für Den Zugriff
Total Page:16
File Type:pdf, Size:1020Kb
Fakultät Informatik Institut für Systemarchitektur, Professur Rechnernetze Bachelorarbeit UNTERSUCHUNG PLATTFORMÜBERGREIFENDER ENTWICKLUNGSANSÄTZE FÜR DEN ZUGRIFF AUF EIN INNOVATIVES INFORMATIONSSYSTEM MIT TABLETS Markus Wutzler Mat.-Nr.: 3587961 Betreut durch: Dr. Marius Feldmann und: Dr. Thomas Springer Eingereicht am 24. Juli 2012 ERKLÄRUNG Ich erkläre, dass ich die Kapitel 1, 3 und 6, sowie die Abschnitte 2.2, 2.4, 4.3 und 5.2 der vorliegen- den Arbeit selbstständig, unter Angabe aller Zitate und nur unter Verwendung der angegebenen Literatur und Hilfsmittel angefertigt habe. Der Abschnitt 2.4 ist eine gemeinsame Ausarbeitung von Martin Weißbach und mir. Die Absätze zu iOS in Abschnitt 5.2.5 wurden inhaltlich von Martin Weißbach zugearbeitet. Alle nicht aufgeführten Abschnitte stammen ebenfalls von Martin Weiß- bach [Wei12] und unterliegen seiner Selbstständigkeitserklärung. Dresden, 24. Juli 2012 v DANKSAGUNG Eine Analyse und Bewertung plattformübergreifender Entwicklungsansätze ist nicht ohne Anwen- dungsfall möglich. Die Konzeption eines fiktiven Anwendungsfalls birgt zudem die Gefahr, dass Analyse und Bewertung zu engstirnig ausgelegt sind und eventuell zu verfälschten Ergebnissen führen. Daher möchte ich mich zunächst bei unserem externen Kooperationspartner, der Communote GmbH, bedanken, die uns einen realistischen und umfangreichen Anwendungsfall zur Verfügung gestellt hat, sodass sehr viele Anforderungen und Kriterien für die Evaluierung der Entwicklungs- ansätze aufgestellt werden konnten. Dies hat eine sehr umfangreiche Betrachtung und Bewer- tung der Frameworks ermöglicht. Zudem möchte ich mich bei meinen Betreuern Dr.-Ing. Marius Feldmann und Dr.-Ing. Thomas Springer bedanken, die uns kontinuierlich unterstützt haben, eine umfangreiche Analyse und Be- wertung der Frameworks anzufertigen, aber auch für den fachlichen Beistand zum Thema der Arbeit und zum Anfertigen von wissenschaftlichen Arbeiten. Des Weiteren bedanke ich mich bei meinem Kommilitonen Martin Weißbach für die effektive Zusammenarbeit, vor allem was die Evaluierung der verschiedenen Entwicklungsansätze betrifft. Für die grammatikalische und syntaktische Durchsicht möchte ich mich bei Ivonne W. bedanken, die diese Arbeit nicht nur einmal korrigiert hat. Abschließend möchte ich mich auch bei meiner Freundin Sarah H. bedanken, die mich während dieser Arbeit in jeglicher Hinsicht unterstützt und häufig auf mich verzichtet hat. vii INHALTSVERZEICHNIS 1 Einleitung 1 1.1 Motivation . .1 1.2 Zielstellung . .1 1.3 Aufbau der Arbeit . .2 2 Anforderungsanalyse 3 2.1 Anwendungsfall . .3 2.2 Möglichkeiten eines Tablets . .5 2.3 Status Quo . .6 2.4 Anforderungen & Evaluationskriterien . .7 2.4.1 Funktionale Anforderungen . .7 2.4.2 Nicht-funktionale Anforderungen . .9 2.4.3 Weitere Kriterien . .9 3 Grundlagen und Stand der Technik 11 3.1 Klassifikation mobiler Anwendungen . 11 3.2 Vorbetrachtung . 12 3.3 jQuery Mobile . 15 3.4 Sencha Touch . 16 3.5 Apache Cordova (PhoneGap) . 18 3.6 Ergebnis . 19 ix 4 Konzeption 23 4.1 Allgemeine Konzeption . 23 4.2 Backend . 24 4.2.1 REST-Client . 24 4.2.2 Model . 25 4.2.3 Externe Module . 25 4.3 Grafische Oberfläche . 26 4.3.1 Gesamtansicht & Navigation . 26 4.3.2 Informationsstrom . 27 4.3.3 Technische Konzeption . 28 5 Bewertung 31 5.1 Backend . 31 5.2 Grafische Oberfläche . 34 5.2.1 Model-View-Controller . 34 5.2.2 Grafische Komponenten . 34 5.2.3 Entwicklung . 36 5.2.4 Einhaltung der User-Interface-Guidelines . 38 5.2.5 Native Entwicklung . 39 6 Zusammenfassung & Ausblick 41 A Tabellen 43 B Abbildungen 45 C Literatur 53 x Inhaltsverzeichnis 1 EINLEITUNG Die Verbreitung mobiler Endgeräte wie Smartphones oder Tablets nimmt in den letzten Jahren stetig zu, was zur Folge hat, dass auch der Markt für mobile Betriebssysteme wächst. Bisher dominieren Apples iOS und Android diesen Markt. Allerdings sind auch andere Anbieter bestrebt, auf diesem Markt (wieder) Fuß zu fassen, darunter vor allem Microsoft mit Windows Phone 8 und Research In Motion mit dem Blackberry Betriebssystem. Dieser Markt ist für Softwareanbieter sehr interessant, da Anwendungen auf Grund der Porta- bilität der Geräte dem Nutzer jederzeit zur Verfügung stehen. Entwickler stehen jedoch vor der Herausforderung, wie die verschiedenen Plattformen mit möglichst wenig Aufwand unterstützt werden können, da die Marktanteile derzeit noch zu stark variieren, um sich lediglich auf eine Plattform zu konzentrieren. 1.1 MOTIVATION Der Aufwand, jede Plattform separat zu entwickeln, ist für kleinere Unternehmen oder private Entwickler kaum zu bewältigen. Eine Alternative dazu ist, sofern der Anwendungsfall es zulässt, eine mobile Webseite, die über den Browser, nahezu unabhängig vom Gerät, aufgerufen wer- den kann. Funktionsumfang und Bedienkomfort sind gegenüber herkömmlichen Apps allerdings meist eingeschränkt. Benötigt wird ein Kompromiss, der eine ressourcenschonende, plattform- übergreifende Entwicklung bietet, aber nicht auf die Möglichkeiten und den Komfort einer nativen App verzichtet. 1.2 ZIELSTELLUNG Mittlerweile existiert eine Vielzahl solcher plattformübergreifenden Entwicklungsansätze und es entstehen weiterhin neue Frameworks, da dieser Markt noch viel Potenzial bietet. Das Ziel dieser Arbeit ist es, die Vor- und Nachteile verschiedener plattformunabhängiger Entwicklungsansätze zu betrachten und einen Vergleich zur nativen Entwicklung zu ziehen. Auf Basis einer Vorevaluierung soll ein Framework gewählt werden, für welches ein vollständiger Softwareentwicklungsprozess durchgeführt wird, um Erkenntnisse hinsichtlich des Entwicklungs- und Wartungsprozesses sowie der Plattformunabhängigkeit zu gewinnen. Die Evaluierung dieser 1 Erkenntnisse ermöglicht eine Einschätzung der langfristigen Eignung des Frameworks bezüglich der plattformunabhängigen Entwicklung. Ein weiterer Schwerpunkt liegt auf den erweiterten Möglichkeiten, die Tablets gegenüber einem Smartphone haben, unter anderem, wie die zur Verfügung stehende Bildschirmfläche optimal ausgenutzt oder wie mit verschiedenen Gesten gearbeitet werden kann. Zusätzlich soll betrach- tet werden, inwiefern die unterschiedlichen Frameworks, die seit Android 4 vorhandenen User- Interface-Guidelines einhalten. Kernziele dieser Arbeit sind: • Bewertung verschiedener Ansätze zur mobilen Entwicklung auf Basis konkreter Anforde- rungsbestimmungen hinsichtlich der Eignung für eine weiterführende Entwicklung • Bewertung eines ausgewählten Ansatzes hinsichtlich des Entwicklungs- und Wartungspro- zesses, der Plattformunabhängigkeit und der Einhaltung der User-Interface-Guidelines 1.3 AUFBAU DER ARBEIT Das nächste Kapitel beinhaltet eine Anforderungsanalyse auf Grundlage eines ausgewählten An- wendungsfalls. Zunächst wird dieser genauer erläutert und die besonderen Möglichkeiten des Tablets dargelegt. Anschließend wird auf bestehende Alternativen zum Anwendungsfall und die Notwendigkeit einer App eingegangen. Abschließend folgt die Definition der Anforderungen und Evaluationskriterien. Das dritte Kapitel betrachtet die Grundlagen und den Stand der Technik. Hier inbegriffen ist die Vorbetrachtung einiger Frameworks, die Detailbetrachtung für die Vorauswahl, sowie die Entscheidung für das letztendlich gewählte Framework, welches im vierten Kapitel de- tailliert auf alle genannten Ziele hin evaluiert wird. Im fünften Kapitel werden die Erkenntnisse bewertet. Das sechste Kapitel fasst diese Erkenntnisse nochmals zusammen und gibt einen Ausblick auf die Zukunft. 2 Kapitel 1 Einleitung 2 ANFORDERUNGSANALYSE In diesem Kapitel werden die Anforderungen an die umzusetzende Applikation sowie der aktuelle Stand der bereits existierenden Anwendung vorgestellt. Zu Beginn wird ein Überblick über den Anwendungsfall gegeben, welcher die grundlegenden Funktionen der App beinhaltet. Anschließend wird auf die besonderen Möglichkeiten eines Ta- blets eingegangen, die bei der Konzeption und Entwicklung beachtet werden sollten. Danach schließt sich eine Betrachtung des aktuellen Standes der bisherigen Anwendung an, um Vor- und Nachteile sowie die Möglichkeiten und Grenzen des verwendeten Frameworks zu evaluie- ren. Abschließend werden alle wichtigen funktionalen und nicht-funktionalen Anforderungen an die Anwendung aufgelistet und beschrieben. Zusätzlich werden Bewertungskriterien für die Fra- meworks festgelegt, welche eine Betrachtung unabhängig vom umzusetzenden Anwendungsfall ermöglichen sollen. 2.1 ANWENDUNGSFALL Die mobile Anwendung orientiert sich an einer bereits bestehenden Kommunikationsplattform, Communote, eine Eigenentwicklung des industriellen Partners dieser Arbeit. Wichtige Funktio- nen der bereits bestehenden Plattform sollen selbstverständlich auch auf dem mobilen Endgerät verfügbar sein und werden im Folgenden vorgestellt. Für einen besseren Überblick sind in Abbil- dung 2.1 auf Seite 4 die wichtigsten Anwendungsfälle zusammengefasst. Hauptsächlich ist es mit der Anwendung möglich, Nachrichten – sogenannte Notes – zu schreiben und zu lesen. Notes sind in Themen eingeordnet, zu denen ein Nutzer entweder lesenden Zugriff hat oder nicht. Auf Basis dieser Berechtigungen sollen auf dem mobilen Client nur solche Nach- richten angezeigt werden, die der Nutzer auch lesen darf. Die Liste der aktuellen Nachrichten ist standardmäßig in drei Gruppen unterteilt: In der ersten Gruppe werden alle aktuellen Nachrich- ten angezeigt. Da Nutzer in Nachrichten mithilfe eines Kürzels erwähnt werden können, werden in der zweiten Gruppe nur die Nachrichten angezeigt, die an den entsprechenden Nutzer adres- siert sind. Communote stellt eine Lösung bereit, anderen