Apptiva Logo

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 am von Philip Schönholzer

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.

XState - JavaScript State Machines and Statecharts