Estou trabalhando na investigação de um aplicativo front-end de complexidade média. No momento, ele está escrito em javascript puro, e possui várias mensagens diferentes baseadas em eventos conectando algumas partes principais deste aplicativo.
Decidimos que precisamos implementar algum tipo de contêiner de estado para este aplicativo no escopo de refatoração adicional. Anteriormente, tive alguma experiência com redux e ngrx store (que na verdade segue os mesmos princípios).
Redux é uma opção para nós, mas um dos desenvolvedores propôs usar uma biblioteca baseada em máquina de estado, em particular a biblioteca xstate .
Nunca trabalhei com xstate, então achei interessante e comecei a ler a documentação e a olhar para diferentes exemplos. Parecia promissor e poderoso, mas em algum momento entendi que não vejo nenhuma diferença significativa entre ele e redux.
Passei horas tentando encontrar uma resposta, ou qualquer outra informação comparando xstate e redux. Não encontrei nenhuma informação clara, exceto alguns artigos como "get from redux to a state machine" , ou links para bibliotecas focadas em usar redux e xstate juntos (bastante estranho).
Se alguém puder descrever a diferença ou me dizer quando os desenvolvedores devem escolher o xstate - você é bem-vindo.