Я працюю над дослідженням одного інтерфейсного додатку середньої складності. На даний момент він написаний на чистому javascript, у ньому багато різних повідомлень на основі подій, що з'єднують декілька основних частин цього додатка.
Ми вирішили, що нам потрібно застосувати якийсь державний контейнер для цього додатка для подальшого рефакторингу. Раніше я мав певний досвід роботи з redux та ngrx store (який насправді дотримується тих самих принципів).
Redux є варіантом для нас, але один із розробників запропонував використовувати бібліотеку на базі автомата, зокрема бібліотеку xstate .
Я ніколи не працював з xstate, тому мені це було цікаво і я почав читати документацію та переглядати різні приклади. Виглядав багатообіцяючим і потужним, але в якийсь момент я зрозумів, що не бачу суттєвої різниці між ним та редукцією.
Я годинами намагався знайти відповідь або будь-яку іншу інформацію, порівнюючи xstate та redux. Я не знайшов жодної чіткої інформації, крім деяких статей на зразок "перейти від redux до стану машини" або посилань на бібліотеки, орієнтованих на спільне використання redux і xstate (досить дивно).
Якщо хтось може описати різницю або сказати мені, коли розробники повинні вибрати xstate - запрошуємо вас.