\chapter{Evaluation}

Nachdem nun das Grundgerüst der Beispielanwendung sowie deren Anforderungen definiert worden sind, können die Ansätze zur Zustandsverwaltung anhand der definierten Kriterien evaluiert werden.

Dafür wird für jedes Zustandsverwaltungssystem die Anwendung vollständig implementiert, und anschließend die Tests und Untersuchungen für die Bewertung durchgeführt.

Im darauf folgenden Kapitel werden dann die kumulierten Ergebnisse analysiert und ein Fazit gezogen. 

\section{setState}
\label{eval:setstate}

Das erste zu evaluierende Zustandsverwaltungssystem stellt die in  \autoref{sec:setState} beschriebe Vorgehensweise zur Verwaltung des Zustands dar.

Dieser Ansatz konnte nicht die Mindestanforderungen an die Beispielanwendung umsetzen, da es unmöglich ist, mit ihm einen konsistenten Zustand über mehre Seiten hinweg zu erzeugen. 

%Navigation per Routen-Namen nicht möglich, da es erforderlich ist, dass a

\input{chapters/evaluation/inheritedwidget.tex}
\input{chapters/evaluation/bloc.tex}
\input{chapters/evaluation/provider.tex}
\input{chapters/evaluation/riverpod.tex}
\input{chapters/evaluation/redux.tex}
\input{chapters/evaluation/mobx.tex}

\newpage
\section{Übersicht}

\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\begin{longtable}[]{@{}l|ccccccc@{}}
    \caption{Ergebnisse der Evaluation}\\
    \toprule
    Zustandsverwaltung & \rot{Änderbarkeit/Skalierbarkeit} & \rot{Testbarkeit} &
    \rot{Effizienz} & \rot{Komplexität/Wartbarkeit} & \rot{Verständlichkeit/Lesbarkeit} &
    \rot{Dokumentierung} & \rot{Strukturbestimmung} \\
    \midrule
    \endhead
    ohne Zustandsverwaltung & n. a. & n. a. & 1;2 & 83 & n. a. & n. a. & n.a.  \\
    setState & \multicolumn{7}{c}{nicht umsetzbar} \\
    InheritedWidget & / & \cmark & 8;6 & 83 & \xmark & / & \xmark  \\
    \ac{bloc} & \cmark & \cmark & 8;4 & 82 & \xmark & \cmark & /  \\
    Provider & / & \cmark & 3;4 & 83 & / & \cmark & \xmark  \\
    Riverpod & \cmark & \cmark & 3;4 & 80 & \cmark & \cmark & \xmark  \\
    Redux & \xmark & / & 8;10 & 82 & / & \cmark & \cmark  \\
    MobX & TBD & TBD & 4;4 & 83 & TBD & TBD & TBD  \\
    \bottomrule
    \multicolumn{8}{c}{Legende: \cmark=vollständig erfüllt; /=teilweise erfüllt; \xmark=nicht erfüllt;}\\
    \multicolumn{8}{c}{n.a. = nicht anwendbar}
\end{longtable}