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. 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.
-
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.
-
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.
-
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.
For our case, points 1 and 2 can help us provide a better way of handling updates in our rapidly updating application. I have used zustand for the application.
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.
Diagrid Catalyst is a Developer API platform providing a brand-new approach to distributed application development. Using the Catalyst APIs, powered by the Dapr open source project, developers can overcome the complexity of rewriting common software patterns and achieve higher productivity by offloading infrastructure concerns from their code to Catalyst.
BLoC Library - Learn how to use the BLoC pattern for state management
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
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/...
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.
GitHub Repository:
state-management related posts
- Join the Diagrid Catalyst AWS Hackathon!
- Dapr: Microservices API
- 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
-
A note from our sponsor - SurveyJS
surveyjs.io | 29 Apr 2024
Index
What are some of the best open-source state-management projects? This list will help you:
Project | Stars | |
---|---|---|
1 | zustand | 42,526 |
2 | vuex | 28,361 |
3 | xstate | 26,155 |
4 | dapr | 23,293 |
5 | bloc | 11,407 |
6 | getx | 9,839 |
7 | rematch | 8,460 |
8 | platform | 7,893 |
9 | react-final-form | 7,339 |
10 | router | 7,058 |
11 | mobx-state-tree | 6,864 |
12 | riverpod | 5,781 |
13 | provider | 5,024 |
14 | easy-peasy | 5,023 |
15 | effector-react | 4,491 |
16 | unstated-next | 4,165 |
17 | constate | 3,911 |
18 | blocksuite | 3,775 |
19 | akita | 3,695 |
20 | signals | 3,512 |
21 | store | 3,506 |
22 | final-form | 2,983 |
23 | hybrids | 2,964 |
Sponsored