Features are difficult to implement
Time will add bugs to the project
Understandability problems
A tool for modeling visualization
Simplify some complex logics and helps to understand complex systems
Give more insurance in adding new features and changes to a system
Directed Graphs
stateA
stateB
stateC
stateD
Finite state machine
Idle
pending
resolved
rejected
fetch
resolve
reject
Finite states
Idle
pending
resolved
rejected
fetch
resolve
reject
Transitions
Idle
pending
resolved
rejected
fetch
resolve
reject
Events
Idle
pending
resolved
rejected
fetch
resolve
reject
Initial state
Idle
pending
resolved
rejected
fetch
resolve
reject
Final states
Idle
pending
resolved
rejected
fetch
resolve
reject
Idle
dragging
Idle
dragging
mousedown
Idle
dragging
mousedown
mousemove
Idle
dragging
mousedown
mousemove
mouseup
JavaScript and TypeScript finite state machines and statecharts for the modern web.
Advantages
Easy to understand and to implement single source of truth
Avoid side effects by making them declarative and explicit, promote purity and scalability
Visualizable because of his declarative nature
Portable and framework's agnostic due to his JSON serialization
Actor-model like approach to make many instances that communicates between them
Let's take another example using a Frichti component...
Features are difficult to implement
Time will add bugs to the project
Understandability problems
Ressources
Thank you !
Any question ?
twitter: @AxelMSadat95
github: @moh12594
linkedin: Axel Mohamed Sadat