Add section about widget structure

pull/3/head
Jonas Franz 2 years ago
parent 64c453ff5d
commit 0d4b4c0797
  1. 18
      chapters/basics/flutter.tex
  2. BIN
      chapters/basics/flutter_tree.png
  3. 1
      classicthesis-config.tex

@ -56,6 +56,24 @@ In Flutter wird bei Widgets grundsätzlich zwischen \texttt{StatelessWidget} und
Ein \texttt{StatelessWidget} hat grundsätzlich keinen veränderbaren Zustand. Dies heißt, dass alle Klassenvariablen unveränderlich sein sollen. In Dart wird dies mit dem Modifikator \texttt{final} gekennzeichnet. Daraus wird impliziert, dass alle Informationen zum Zustand des Widgets aus den im Konstruktor übergebenen werten stammen müssen. Somit wird das Widget nur neu gebaut, wenn sich Änderungen an den Werten des Konstruktors durch Änderungen in der Hierarchie darüber liegenden Widgets ergeben.
Ein \texttt{StatefulWidget} auf der anderen Hand besteht aus zwei Klassen. Zum einen dem \texttt{StatefulWidget} zum anderen dem \texttt{State} dieses Widgets. Diese Widgets vereinen die Möglichkeiten eines \texttt{StatelessWidget} mit der Möglichkeit, den Zustand des Widgets selbstständig zu verändern. Dies wäre beispielsweise bei einem Textfeld relevant, wenn der Text geändert wird. Zustandsänderungen werden dabei über die, wie in \autoref{lst:stateful} gezeigte, \texttt{setState} Methode vorgenommen, damit auch die Änderung an das Framework kommuniziert wird.
\begin{lstlisting}[caption={StatefulWidget}, label={lst:stateful}]
UI Widget(state) TODO
\end{lstlisting}
\begin{wrapfigure}{r}{0.33\textwidth}
\centering
\includegraphics[width=0.98\linewidth]{chapters/basics/flutter_tree.png}
\caption{Flutter Widget Tree}
\label{fig:flutterTree}
\end{wrapfigure}
Durch die Kombination von diversen Widgets entsteht so ein Widget-Baum, wie in \autoref{fig:flutterTree} zu sehen ist. Dieser Baum lässt sich auch mittels Hilfswerkzeugen traversieren, ist aber von der Grundstruktur für einen unidirektionalen Datenfluss ausgelegt. Dies bedeutete, dass Widgets nur untergeordnete Widgets durch Änderung derer Zustände verändern können sollen. Übergeordnete Widgets können somit - jedenfalls nicht direkt - verändert werden.
Zusammenfassend wird festgehalten, dass der Zustand und die Verwaltung des Zustands von Widgets einen wichtigen Teil im Lebenszyklus einer Flutter-Anwendung ist.
Was ist Flutter?
Wie funktioniert Flutter?

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

@ -189,6 +189,7 @@
%\PassOptionsToPackage{pdftex}{graphicx} %%%IVO: driver will be chosen automatically
\usepackage{graphicx}
\usepackage{wrapfig}
% ********************************************************************
% Hyperreferences

Loading…
Cancel
Save