title: Entwurf eines methodischen Verfahrens für die Auswahl einer Architekturoption für mobile Anwendungen : Nativ vs. Hybrid vs. Web
Creators: name: Dori, Thomas
Publisher: name: TU Wien
Year: 2014
Subjects: subject: Softwarearchitekturen
subject: Entscheidungstechniken
subject: Mobil
subject: HTML5
subject: App
subject: Webapp
subject: Nativ
subject: Hybrid
subject: Cross-Compiled
subject: iOS
subject: Android
subject: Windows Phone
subject: BlackBerry 10
subject: Firefox OS
subject: Apache Cordova
subject: PhoneGap
subject: jQuery Mobile
subject: Software Architectures
subject: Decision Techniques
subject: Mobile
subject: HTML5
subject: App
subject: Webapp
subject: Nativ
subject: Hybrid
subject: Cross-Compiled
subject: iOS
subject: Android
subject: Windows Phone
subject: BlackBerry 10
subject: Firefox OS
subject: Apache Cordova
subject: PhoneGap
subject: jQuery Mobile

description: Eine immer groesser werdende Anzahl an Menschen ist mittlerweile im Besitz von Smartphones. Bei den Betriebssystemen fuer Smartphones sind Android, iOS, Windows Phone und Blackberry 10 die vorherrschenden Plattformen. Diese ermoeglichen die Nutzung von sogenannten Apps, wobei es sich um speziell fuer mobile Geraete entwickelte Anwendungen handelt. Die Entwicklung solcher Anwendungen erfolgt in den meisten Faellen mit den plattformspezifischen Mitteln. Diese Form von Anwendungen wird als native Anwendungen bezeichnet. In den letzen Jahren haben sich jedoch auch noch weitere Alternativen zu nativen Anwendungen entwickelt. Diese basieren auf der Idee, Anwendungen auch mit Web-Technologien umzusetzen. So koennen dem Benutzer Dienste ueber den Browser zur Verfuegung gestellt werden. Diese Art von Anwendungen wird als Web Apps bezeichnet. Sollte es gewuenscht sein, dass die App ueber einen Marktplatz angeboten wird, kann sie auch in eine native App verpackt werden. Eine solche App wird auch hybride App genannt. Welche dieser drei Architekturoptionen sich fuer eine bestimmte Anwendung am besten eignet, ist eine Designentscheidung, die relativ frueh im Projekt getroffen werden muss. Eine kurze Recherche zeigt, dass bei dieser Entscheidung unter anderem Nach- und Vorteile gegeneinander aufgewogen werden oder gar nur anhand von persoenlichen Praeferenzen gewaehlt wird. Um diesen Entscheidungsprozess zu unterstuetzen, ist es moeglich, Entscheidungstechniken zu verwenden, die den Softwarearchitekten methodisch an die Auswahl einer geeigneten Architekturoption heranfuehren. Konkret wird fuer die Auswahl einer Entscheidungstechnik in dieser Arbeit der von Falessi u. a. [12] entworfene Prozess verwendet. Dieser Prozess achtet vor allem auf die vorhandenen Schwierigkeiten beim Anwenden der Entscheidungstechnik, wie etwa Zeitmangel. Ziel dieser Arbeit ist es, basierend auf den relevanten theoretischen Grundlagen einen adaptierten Prozess zu entwickeln, der im Rahmen der Implementierung eines praxisrelevanten Beispiels evaluiert wird. Der praktische Teil der Arbeit besteht darin, die theoretischen Grundlagen zur Auswahl von Architekturoptionen auf die Problemstellung (Nativ vs. Hybrid vs. Web) und weiters auf ein konkretes Fallbeispiel anzuwenden. Das Ergebnis ist eine Methode zur Auswahl einer Architekturoption (Nativ, Hybrid, Web) fuer mobile Anwendungen.
description: In the last decade smart phones became more and more important. One of the reasons for their great popularity is the fact that apps offer a wide range of additional features from productivity tools to games. Mobile apps are usually developed with software development kits (SDKs) provided by the specific platform provider. Apps that have been developed with such SDKs are named native apps. Alternatives to native apps have been developed in the past few years. Web apps are one such alternative because they also provide most of the functionality of native apps. Another architectural alternative would be the encapsulation of such a web app in a native web container. This allows the app to be distributed through a common market place for example. Such apps are called hybrid apps. Which of these alternatives should be used for a given project is a question that needs to be answered rather early in a software project. Since architectural design decisions are crucial for the project's success, it makes sense to support this decision with a methodical process like decision techniques do. Since there are several decision techniques, it is also necessary to find an appropriate one. The selection of a technique could be done with the process suggested by Falessi et al. [12]. This process and the implementation of a relevant case study is, together with the theoretical basics, matter of this document. Therefore it provides a method for selecting an architecture option (nativ, hybrid, web) for mobile applications.