XState
Architekturdokumentation und Code müssen nicht unbedingt übereinstimmen. Ausserdem sind Workflows und UIs oft nicht einfach zu erweitern oder zu verstehen. XState hilft in beiden Fällen.
Publiziert von Philip Schönholzer am 28.02.2023
Architektur vs. Code
- Architekturdokumentation ist nicht garantiert aktuell.
- Implementierung kann von der Architektur abweichen (Unwissenheit, Fehler, etc.).
- Es gibt keine Verbindung zwischen Doku und Code. Im Code ist nicht ersichtlich, dass Doku vorhanden ist; in der Doku gibt es keinen Verweis auf den Code.
State Machines
- State Machines visualisieren Prozesse und unterstützen die kollaborative Entwicklung.
- Bekannte State Management Libraries (Redux, State, etc.) erlauben die Ausführung aller Events unabhängig vom State. State Machines erlauben nur die Ausführung von Events, die im aktuellen State definiert sind.
- Verhindern unmögliche Zustände oder Ereignisse.
XState
- XState hilft bei allen oben genannten Punkten.
- Hilft bessere Komponenten, Abläufe und UIs zu entwickeln.
- Kann für kleine Formulare oder ganze Abläufe verwendet werden.