Skip to content

How does Kea compare to other state management frameworks? #106

Open
@mariusandra

Description

@mariusandra

Hi everyone! I get often asked to compare Kea with X, where X is some other approach to managing state in React. Be it easy-peasy, redux-toolkit, mobx, dva, react context + hooks, etc. (incomplete list)

Unfortunately I never have a good answer, as I haven't used any of them extensively and for big projects. I have just read the readmes, which is not enough for a smart comparison.

I believe Kea is something special in the react world and that it strikes a beautiful balance between simplicity vs flexibility vs joy vs power. However, while many people I've spoken to also seem to agree with this, I'm obviously really biased here.

Thus, I'm asking the internet: please share if you have any experiences with any of the other frameworks... and especially with how they compare to Kea when writing large real world applications, where state management gets pretty complex. I'm not interested in TodoMVC.

Your answers can be anything from "Kea rocks" to "Functional programming is the scourge of the earth and you're better off burning coal for heat" to "In a huge app with X state trees, we ran into issues X, Y, Z with framework B after we did Q, N and K".

Please keep it civil though!

My hope for this thread is that I can either: 1) learn something new to make Kea even better... or 2) prove that it really is as awesome as it seems!

I'll leave you with two quotes:

  • "A complex system that works is invariably found to have evolved from a simple system that worked." John Gall
  • "The best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer" Ward Cunningham

Kea is a complex system that works as well as it does because it rose out of a simpler system over time. Kea 2.0 made this complex system much simpler to use and as a result, I think it's the best way to manage state in the React ecosystem.

Prove me wrong!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions