Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 state-management Open-Source Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
dapr
Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
-
getx
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
router
🤖 Fully typesafe Router for React (and friends) w/ built-in caching, 1st class search-param APIs, client-side cache integration and isomorphic rendering.
-
riverpod
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
-
blocksuite
🧩 Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Daishi Kato, creator of Zustand and Jotai, says there are a few things we need to support RSC serialization:
Pinia is a relatively new state management tool for the Vue ecosystem. It is the new preferred state management tool recommended by the Vue core team replacing Vuex. Compared to Vuex, Pinia is type-safe by default (direct-vuex was needed to make Vuex type-safe), extremely lightweight, and modular by design (meaning you can create multiple stores instead of multiple modules inside one store, which optimises performance). Similar to Vuex, Pinia has state, computed properties (getters) and methods (mutations and actions). Read more about Pinia and its usage to understand the similarities and differences between Pinia and Vuex.
XState is a powerful library with comprehensive documentation. Keeping the documentation handy while building your next app with XState will be invaluable.
The following two examples are open-source projects maintained by Fermyon with contributions from companies like Microsoft and SUSE. The first is Spin, which allows us to use WebAssembly to create Serverless applications. The second, SpinKube, combines some of the topics I'm most excited about these days: WebAssembly and Kubernetes Operators :) The official website says, "By running applications in the Wasm abstraction layer, SpinKube offers developers a more powerful, efficient, and scalable way to optimize application delivery on Kubernetes." By the way, this post shows how to integrate SpinKube with Dapr, another technology I'm very interested in, and I should write some posts soon.
BLoC Library - Learn how to use the BLoC pattern for state management
the maintainer is a liar (link)
NgRx is the standard library for state management in Angular applications. With NgRx v14, many of the complex APIs following the Redux pattern have been greatly simplified. For example, ActionGroups make it easier to define new actions. However, the use of the Redux pattern is by no means easy and discourages many developers.
Welcome to the first article of a series where we will explore TanStack Router, a new router for React (version 1.0 released in December 2023).
Project mention: Building a Dynamic Job Board with Issues Github, Next.js, Tailwind CSS and MobX-State-Tree | dev.to | 2024-03-28Basic knowledge of Tailwind CSS and MobX-State-Tree
From a library standpoint, I would recommend https://riverpod.dev over any other state management libraries for productivity purposes.
In its docs, Astro recommends nanostores, but I’ve used effector in the past. And LOVED IT. So I’ve used it for this project as well.
Project mention: BlockSuite is the open-source block-based editor | news.ycombinator.com | 2023-07-26
It's still boilerplatey but a little less than NgRx. But we use Ngxs: https://ngxs.io. It's a little more complex than elf but a lot more robust in my opinion.
Putting the runic terminology aside and looking into how the signal primitive is implemented should dispel the magic. I learned a lot from examining preact's implementation: https://github.com/preactjs/signals/blob/main/packages/core/...
GitHub Repository:
state-management related posts
- How to Protect State in Pinia
- Show HN: Just implemented Solid.js signal in Swift
- The Ambassador Pattern
- MiniRx Signal Store for Angular - API Preview
- Cami.js - A No Build, Web Component Based UI Framework
- Show HN: Cami.js – A No Build, Web Component Based Reactive Framework
- What's New in StateAdapt 2.0.0: adapt rework
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Apr 2024
Index
What are some of the best open-source state-management projects? This list will help you:
Project | Stars | |
---|---|---|
1 | zustand | 42,308 |
2 | vuex | 28,358 |
3 | xstate | 26,074 |
4 | dapr | 23,255 |
5 | bloc | 11,368 |
6 | getx | 9,786 |
7 | rematch | 8,462 |
8 | platform | 7,880 |
9 | react-final-form | 7,341 |
10 | router | 7,018 |
11 | mobx-state-tree | 6,865 |
12 | riverpod | 5,728 |
13 | easy-peasy | 5,021 |
14 | provider | 5,019 |
15 | effector-react | 4,484 |
16 | unstated-next | 4,165 |
17 | constate | 3,911 |
18 | akita | 3,693 |
19 | blocksuite | 3,688 |
20 | store | 3,500 |
21 | signals | 3,492 |
22 | final-form | 2,981 |
23 | hybrids | 2,964 |