Add Thesis

Konzepte einer Web-App anhand des Beispiels einer Quiz-Marketing-App

Written by Michael Mayer

Paper category

Bachelor Thesis

Subject

Computer Science

Year

2015

Abstract

Smartphones und mobile Geräte sind kein aufkommender Trend, sondern Alltagsgegenstände unserer Gesellschaft. Um Produkte auf diesen Plattformen anbieten zu können, wird die Entwicklung mobiler Anwendungen daher bei vielen Unternehmen immer beliebter. Viele Unternehmen stehen jedoch vor einem grundsätzlichen Hindernis: Um die Anwendung möglichst breit einsetzen zu können, muss sie für jede der drei großen Plattformen iOS, Android und Windows Phone separat entwickelt werden. Dabei sind 3 verschiedene Programmiersprachen und Architekturen zu berücksichtigen. HTML5, CSS3 und JavaScript bieten dagegen plattformunabhängige Frontend-Technologien, die es ermöglichen, Anwendungen für nahezu alle mobilen Endgeräte zu entwickeln. Diese Bachelorarbeit beschäftigt sich mit dem Konzept mobiler Webanwendungen, insbesondere dem Einsatz moderner Frameworks. Dieses Papier hat ein tiefes Verständnis der Struktur von Webanwendungen, um Anwendungen zu erstellen, die hinsichtlich Skalierbarkeit und Testbarkeit möglichst strukturiert und modular sind. Um dieses Konzept zu erklären, haben wir einen Prototyp in Form einer Test-Marketinganwendung mit dem AngularJS-Framework entwickelt. In diesem Zusammenhang wird das AngularJS-Framework ausführlich vorgestellt und die zugehörigen Bibliotheken backbone.js und JavaScriptMVC verglichen. Sowohl AngularJS als auch beispielsweise backbone.js bieten ein Grundgerüst für eine möglichst modulare und strukturierte Architektur von Webanwendungen. Am wichtigsten ist, dass neue Konzepte wie die Datenbindung die Trennung der Präsentationsschicht von der Domänenlogik erleichtern. Kurz gesagt, Webanwendungen sind zweifellos eine Option, um plattformunabhängige Anwendungen zu entwickeln. Viele JavaScript-basierte Anwendungen haben jedoch Probleme mit der Skalierbarkeit und Testbarkeit. Bibliotheken wie AngularJS oder backbone.js können helfen, Anwendungen strukturierter zu gestalten. Zudem zahlt sich die Investition in die Architektur in der Regel aus, insbesondere unter Berücksichtigung des langen Anwendungslebenszyklus. Diese Bachelorarbeit beschäftigt sich mit den Konzepten moderner, modularer und strukturierter Webanwendungen. Mobile Plattformen und Endgeräte sind heute nicht mehr wegzudenken. Immer mehr Unternehmen bieten mittlerweile auch mobile Versionen ihrer Apps und Dienste an. Das Paper von Alex Nicolaou (2013) zeigt, dass der Datenverkehr auf mobilen Endgeräten dramatisch zunimmt. Die Prognose für 2017 sollte zunächst 10 Exabyte überschreiten. Dies zeigt deutlich, dass mobile Software und Anwendungen keine Leerstelle mehr auf dem Markt sind. Diese Arbeit verfolgt die Ziele moderner Architektur und das durchdachte Konzept von Webanwendungen. Inwieweit kann Software durch den Einsatz neuer Konzepte und Architekturen sowie durch den Einsatz von Frameworks wie AngularJS flexibel, erweiterbar und testbar werden? -Diese Frage ist der Kernaspekt dieses Konzepts. Das Ziel wird mit Hilfe der Prototypenentwicklung gesetzt. Aus diesem Grund werden Webanwendungen in jeder Phase vom Beginn der Konzeptentwicklung bis zum abschließenden Test dokumentiert. Die Bewertung des Konzepts bzw. der erstellten Architektur basiert auf der Testbarkeit und Skalierbarkeit des Prototyps. Dies sind wichtige Komponenten der Codequalität. Ziele werden unter anderem anhand sogenannter Softwareindikatoren gemessen. Dies sind die Kennzahlen, die Auskunft über die Beschaffenheit des Quellcodes geben. Zur Umsetzung der oben erwähnten Struktur und Organisation des JavaScript-Projekts stehen mittlerweile eine Vielzahl von Bibliotheken und Frameworks zur Auswahl. Viele von ihnen werben für diese Funktionen, und eine davon ist das Web-Framework AngularJS. Dies wurde für die Prototypenentwicklung verwendet und erhielt besondere Aufmerksamkeit. Im Literaturteil wird die verwendete Technologie diskutiert und AngularJS näher erläutert. Außerdem werden im Vergleich zu AngularJS kurz backbone.js und JavaScriptMVC vorgestellt. Auf dieser Grundlage zeigt Kapitel 3 die Realisierung des Prototyps und die Arbeitsergebnisse. Read Less