\section{Motivation}

Bei der Entwicklung von mobilen Anwendungen wie beispielsweise im Agenturgeschäft stellen sich immer wieder Architektur-Fragen, welche den Erfolg eines Projektes maßgeblich mitentscheiden können. Bei Flutter stellt sich hier beispielsweise die Frage, wie man am besten den Zustand der Anwendung verwalten kann. Auf diese Frage eröffnet sich den Entwickler*innen verschiedene Lösungsmöglichkeiten. Dabei wird aktuell weder seitens der offiziellen Entwicklungsdokumentation von Flutter noch in den Online-Publikationen eine eindeutige Empfehlung getroffen. Erschwerend bei der Entscheidungsfindung kommt hinzu, dass es im Moment eine große Anzahl an verschiedenen Ansätzen zur Lösung des Problems gibt. Alleine die offizielle Flutter Dokumentation umfasst nach aktuellen Stand eine Aufzählung von 13 verschiedenen Ansätzen, das Problem der Zustandsverwaltung (engl. state management) zu lösen. \autocite{flutterStateManagement}

Die Entscheidung für einen bestimmten Architekturentwurf für die Zustandsverwaltung ist dabei eine schwierig umkehrbare Entscheidung, da sie Auswirkungen auf diverse Komponenten einer Anwendung hat. Dies kann unter anderem dazu führen, dass bei einer späteren Änderung der Zustandsverwaltung größere Änderungen an dem Quelltext der Anwendung nötig sind.

Dies zeigt auf, dass die Entscheidung für die dem Anwendungsfall am besten entsprechende Zustandsverwaltung eine signifikant wichtige Entscheidung im Entwicklungsablauf einer Flutter-Anwendung ist. Daher soll diese Ausarbeitung dabei unterstützen, auf Grundlage einer wissenschaftlichen Evaluation verschiedener Lösungsansätze die für die Entwicklung beste Option wählen zu können.