Pracuję nad zbadaniem jednej aplikacji front-end o średniej złożoności. W tej chwili jest napisany w czystym javascript, zawiera wiele różnych komunikatów opartych na zdarzeniach, łączących kilka głównych części tej aplikacji.
Zdecydowaliśmy, że musimy zaimplementować jakiś kontener stanu dla tej aplikacji w zakresie dalszej refaktoryzacji. Wcześniej miałem pewne doświadczenie ze sklepem Redux i ngrx (który faktycznie kieruje się tymi samymi zasadami).
Redux jest dla nas opcją, ale jeden z programistów zaproponował użycie biblioteki opartej na maszynach stanowych, w szczególności biblioteki xstate .
Nigdy nie pracowałem z xstate, więc wydało mi się to interesujące i zacząłem czytać dokumentację i przyglądać się różnym przykładom. Wyglądał obiecująco i potężnie, ale w pewnym momencie zrozumiałem, że nie widzę żadnej znaczącej różnicy między nim a reduxem.
Spędziłem godziny, próbując znaleźć odpowiedź lub jakąkolwiek inną informację porównującą xstate i redux. Nie mogę znaleźć żadnej jasnej informacji, z wyjątkiem niektórych artykułów takich jak „dostać od Redux do machiny państwowej” , lub linki do bibliotek koncentruje się na wykorzystaniu Redux i xstate razem (dość dziwne).
Jeśli ktoś może opisać różnicę lub powiedzieć, kiedy deweloperzy powinni wybrać xstate - zapraszam.