\chapter{Einleitung}

\label{ch:intro}
In der mobilen Software-Entwicklung dominieren seit Jahren bereits die beiden mobilen Betriebssysteme iOS und Android. |\autocite{osDist} Dies macht es für die Entwicklung von mobilen Anwendungen erforderlich, ein Programm für beide Plattformen zu entwickeln. Da durch die Entwicklung von zwei ähnlichen Anwendungen aus rein technischen Gründen größere Aufwände bei der Entwicklung entsteht, sind seit mehreren Jahren sogenannte Cross-Plattform Technologien in Verwendung. Diese ermöglichen es, im Optimalfall mit der Entwicklung einer Anwendung mehrere Plattformen auf einmal abdecken zu können.


In dieser Ausarbeitung wird dabei die Cross-Plattform Technologie Flutter betrachtet. Die erste Version von Flutter wurde am 12. Mai 2017 \autocite{flutterFirstRelease} veröffentlicht und unterstützt mit der Version 1.20 die Möglichkeit eine Anwendung sowohl als App auf Android und iOS, als Desktop-Anwendung für macOS, Linux und Windows sowie als Website auszuspielen. \autocite{flutterSupportedPlatforms} Weitere Details zur Flutter-Technologie werden im entsprechenden Grundlagen-Kapitel behandelt.


Dabei wird mit dieser Ausarbeitung eine konkrete Problemstellung, die sich aus der Architektur von Flutter und ähnlichen Werkzeugen wie React behandelt. Die Problemstellung umgreift die Frage, welche Software-Architektur und Werkzeuge gewählt werden müssen, um den Zustand der Anwendung oder einzelnen Bestandteilen der Anwendung effizient und architekturell sinnvoll zu verwalten.

Anhand von entsprechend der Problemstellung definierten Bewertungskriterien wird durch eine Evaluation verschiedener bestehender Lösungsansätze untersucht, welcher sich am besten zur Lösung der Problemstellung eignet.

Im Folgenden wird in diesem Einleitungskapitel näher erläutert, welche Motivation zur Wahl dieses Thema führt, welche konkrete Zielsetzung verfolgt wird, welche Gliederung gewählt wird und anhand welcher Methodik vorgegangen wird.

\input{chapters/intro/motivation}
\input{chapters/intro/targets}
\input{chapters/intro/structure}
\input{chapters/intro/methods}
