Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mkgor/nexus
Nexus is a state management library that makes it easy to create and consume your application's reactive data to the user interface.
https://github.com/mkgor/nexus
codegeneration flutter reactive state-management
Last synced: 7 days ago
JSON representation
Nexus is a state management library that makes it easy to create and consume your application's reactive data to the user interface.
- Host: GitHub
- URL: https://github.com/mkgor/nexus
- Owner: mkgor
- Created: 2021-12-25T13:49:09.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-07-25T17:28:22.000Z (over 2 years ago)
- Last Synced: 2023-03-02T10:31:40.568Z (over 1 year ago)
- Topics: codegeneration, flutter, reactive, state-management
- Language: Dart
- Homepage: https://mkgor.github.io/nexus/
- Size: 313 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![test coverage](https://img.shields.io/badge/coverage-94.2%25-green)
![test results](https://img.shields.io/badge/tests-16%20passed%2C%200%20failed-green)# Nexus 🚀
**Nexus** is a state management library that makes it easy to create and consume your application's reactive data to the user interface. With **nexus_codegen**, wiring becoming fully automatic and feels very natural. As an application developer, you focus solely on what reactive data should be consumed in the UI (and elsewhere) without worrying about keeping it in sync.
## Roadmap table
| Goal | Completed |
|---|---|
| Reactive variables | ✅ |
| Reactions | ✅ |
| Synchronous actions | ✅ |
| Asynchronous actions | ✅ |
| Lifecycle hooks | ✅ |
| Reactive collections (list, set, map) | ✅ |
| Custom reactive objects | ✅ |
| Access to context from state | ✅ |
| Processable controller and widget (contains reactive content state) | ✅ |
| Global state's stream (tracks all lifecycle of states) | ✅ |
| Mutators | ✅ |
| Guards | ✅ |
| Unit-tests | ✅ |
| Documentation | ✅ |
| Perfomance optimization | |
| Reactive collections | |
| Builders optimization | |
| Reactions rethink | |## Quickstart
States in Nexus can be really simple and elegant
![Tiny state](https://i.imgur.com/U2u9sPT.png)But it is not fully reactive state, we call update() manually when updating counter, but what if we add some **annotations**?
![Annotations](https://i.imgur.com/KFILTpJ.png)
## Global event busNexus are tracking all controllers and can notify you, when something happens via global event bus
It supports next events:
* EventType.stateInitialized
* EventType.stateUpdated
* EventType.stateDisposed
* EventType.reactionRegistered
* EventType.reactionInitiated
* EventType.reactionRemoved
* EventType.performedAction
* EventType.performedAsyncActionAll events' payloads contain **stateId** - unique identifier of NexusController (you can pass it manually by invoking super constructor of controller)