Open-source projects categorized as state-management | Edit details

Top 23 state-management Open-Source Projects

  • GitHub repo vuex

    🗃️ Centralized State Management for Vue.js.

    Project mention: VueJS - (One more) way of structuring your project | dev.to | 2021-06-17


  • GitHub repo xstate

    State machines and statecharts for the modern web.

    Project mention: XState: The Solution to All Your App State Problems | dev.to | 2021-06-06

    There are numerous state management libraries that use state machines but for this example, I’ll use XState.

  • GitHub repo dapr

    Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.

    Project mention: Did we market Knative wrong? | news.ycombinator.com | 2021-06-18

    An abstraction over basic Kubernetes primitives is sorely needed.

    A concept of an application with versioned releases can be hacked together with a lot of effort and a multitude of tooling, but it's an awkward experience.

    An standard abstraction over event driven systems is also very beneficial.

    To me Knative had somewhat bad positioning, relatively subpar documentation and bad marketing. It seemed like a half-hearted effort without a coherent vision or strong drive.

    It also came very late. Something like it should have been officially included in Kuberentes much earlier.

    Dapr [1] is a very similar effort, driven by Microsoft. It does much better on the above points, in my opinion.

    One complication here is that the cloud vendors might not really want a popular, standardized application definition and deployment system. It has the potential to (maybe significantly) reduce the lock-in AWS/Azure/GC currently cause for most customers.

    [1] https://dapr.io/

  • GitHub repo rematch

    The Redux Framework

    Project mention: What's your favorite state manager? | reddit.com/r/reactnative | 2021-06-04

    I’ve always found Redux too verbose and cumbersome. Luckily I found Rematch. It is Redux best practices without the boilerplate

  • GitHub repo bloc

    A predictable state management library that helps implement the BLoC design pattern

    Project mention: Code runner error on json_serializaable | reddit.com/r/flutterhelp | 2021-06-22

    I went though the first parts, setting up the data and repository layers and everything worked great. When it comes to the busines logic layer though, I'm getting an error using build runner. (https://bloclibrary.dev/#/flutterweathertutorial?id=code-generation-2). It says:

  • GitHub repo platform

    Reactive libraries for Angular

    Project mention: Learning to get unattached | dev.to | 2021-06-05

    I recently had that feeling of having worked placed so much effort in learning something and finally have the opportunity to use this newly acquired skill. In my case, I was finally getting the hang of using NGRX for state management on an angular application until I realized that all of the state in the application I was working on was using Services and RXJS 🤯.

  • GitHub repo react-final-form

    🏁 High performance subscription-based form state management for React

    Project mention: Form validation in React using the useReducer Hook | dev.to | 2021-04-26

    There are a lot of libraries out there for validating forms in react. Redux-Form, Formik, react-final-form are few among them.

  • GitHub repo mobx-state-tree

    Full-featured reactive state management without the boilerplate

    Project mention: MobX State Tree (MST) - State Management | dev.to | 2021-05-30

    We have covered almost all required topics from MobeX-State-Tree. MobeX provided few sample example, download ToDoMVC - app using React and MST and Bookshop - app with references, identifiers, routing, testing etc.

  • GitHub repo easy-peasy

    Vegetarian friendly state for React

    Project mention: State Management Battle in React 2021: Hooks, Redux, and Recoil | reddit.com/r/reactjs | 2021-04-08

    There are plenty more libraries I didn’t have space to cover here, like Zustand, easy-peasy, and others. Check those out though, they’re nice too :)

  • GitHub repo getx

    Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.

    Project mention: How to make a "welcome screen" that users are going to see only once when they first launch the application (guess it is called onboarding, improve me if it is not correct) with GetX? | reddit.com/r/flutterhelp | 2021-04-05

    I'm not an expert on GetX but this may help you. https://github.com/jonataslaw/getx/issues/372#issuecomment-657348859

  • GitHub repo provider

    InheritedWidgets, but simple

    Project mention: How to create a new Flutter Project with a Boilerplate | dev.to | 2021-04-21

    Provider ⇨ State Management

  • GitHub repo unstated-next

    200 bytes to never think about React state management libraries ever again

    Project mention: View-Hook Pair Pattern (Draft) | dev.to | 2021-02-19

    Of cource, we can mix Hook result values with a local state or something in the place among and , so we can adjust values a bit easily. (In easy case, Unstated Next is helpful.)

  • GitHub repo constate

    React Context + State

    Project mention: Top 10 React Hooks Library | dev.to | 2021-06-20

    Constate hook provides lifting local state to React Context Level. So you can access/update state variables anywhere in the application with few lines of code. This is useful when you use the same state in multiple components. For example, you have Themes, Colors, Fonts used in multiple components, Users are allowed to change at one place and it should be reflected in the whole application. Package written in TypeScript and very compact.

  • GitHub repo react-easy-state

    Simple React state management. Made with ❤️ and ES6 Proxies.

    Project mention: Accelerate your learning by starting with the full source code of my first project | dev.to | 2021-03-24

    The app for people to submit orders (drinks-user) is just a form and to manage state, I'm using React-easy-state

  • GitHub repo StatefulViewController

    Placeholder views based on content, loading, error or empty states

  • GitHub repo HGPlaceholders

    Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project

  • GitHub repo mobx.dart

    MobX for the Dart language. Hassle-free, reactive state-management for your Dart and Flutter apps.

    Project mention: MobX: Flutter State Management like a Boss | dev.to | 2021-05-07

    For more examples and guides you can see the original documentation.

  • GitHub repo cerebral

    Declarative state and side effects management for popular JavaScript frameworks

  • GitHub repo river_pod

    A simple way to access state while robust and testable.

    Project mention: Riverpod and mobx | reddit.com/r/FlutterDev | 2021-05-06
  • GitHub repo flutter-boilerplate-project

    A boilerplate project created in flutter using MobX and Provider.

    Project mention: How to create a new Flutter Project with a Boilerplate | dev.to | 2021-04-21

    Let's head to GitHub boilerplate repository.

  • GitHub repo ReactStateMuseum

    A whirlwind tour of React state management systems by example

    Project mention: My current views of state management in React | dev.to | 2021-03-14

    React development has always had a bit of a choose your own adventure experience. By that I mean there are a LOT of choices to make in any react app. Other frameworks are much more prescriptive in how you build applications. You won't get very far down your adventure before you must make some choices in how you handle data and state within your application. React components can have state using setState in a class component or useState in a function component. That along with context is really all React gives you out of the box. Over the years there have been countless state management solutions that have risen and fallen in popularity. Have a look at React State Museum to see dozens of the most popular approaches over the years. There was a time where it looked like Redux was going to be the clear winner and for maybe a couple of years it did seem like every enterprise react app was built with redux. It's sort of fallen out of favor in recent years although it is still a solid pattern. Over the years my preferences have changed as the options have expanded. Back in the redux hay day I was all in on global state management but these days I do not find myself reaching for a global state management solution. I'll try to break down my preferences for data/state management. So pretty much every app out there talks to some sort of API to query/mutate data on the server. I prefer to synchronize my app with the serve using React Query or Apollo Client. I've been working mostly with GraphQL APIs in recent years so I've typically found myself using Apollo Client. Apollo client has a memory cache that your app can use to synchronize the UI with the server. I only recently learned about React-Query which has a very similar API as Apollo Client with the useQuery hook, but can be used with anything that returns a promise like the Fetch API for example. React Query is useful for synchronizing your app with server data regardless of if it is GraphQL or REST, or something else. I find that once your app data is synchronized with the server using one of these approaches, then there is not really much left that needs to go into global state. It is worth noting that Apollo Client does allow you to add some local state to the cache, but I’ve found it to be a little heavy handed for my tastes. Most apps you will want some state available globally for example you might want to track dark mode settings, or if a particular modal is open and things of this nature. In these cases I find useState or useReducer with React Context is sufficient. I tend to prefer to keep my state closer to where it is relevant. I do have a fascination with Finite State Machines - and XState is awesome for state machines in your app. I do like to use state machines at the component level, for complex operations or to orchestrate some nuanced sequence or application flow.

  • GitHub repo apprun

    AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.

    Project mention: Make Code Run in Your Docs | dev.to | 2021-05-23

    You can find the source code here and the compiled code here

  • GitHub repo mount

    managing Clojure and ClojureScript app state since (reset)

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-22.


What are some of the best open-source state-management projects? This list will help you:

Project Stars
1 vuex 26,381
2 xstate 16,387
3 dapr 13,657
4 rematch 7,271
5 bloc 7,259
6 platform 6,818
7 react-final-form 6,522
8 mobx-state-tree 6,093
9 easy-peasy 4,289
10 getx 3,727
11 provider 3,658
12 unstated-next 3,513
13 constate 3,314
14 react-easy-state 2,397
15 StatefulViewController 2,121
16 HGPlaceholders 2,006
17 mobx.dart 1,926
18 cerebral 1,926
19 river_pod 1,654
20 flutter-boilerplate-project 1,324
21 ReactStateMuseum 1,304
22 apprun 1,110
23 mount 1,064
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives