Pulse-X State Management
Why Pulse-X?
Pulse-X is a light weight state management solution for your Flutter project.
๐น Pulse-X's 3 Main Targets
๐ PRODUCTIVITY | โ๏ธ SCALABILITY | ๐งฉ MODULARITY
๐ฏ PRODUCTIVITY
Pulse-X is aimed to help you make your productivity high. It's intuitive and it won't take you long to build MVVM structure. You can write cleaner, more structural and more maintainable code.
๐ฏ SCALABILITY
Pulse-X is here to make your program's architecture highly scalable. You can easily make layer based architecture or feature based architecture. You can add new features or remove old features without worrying much about code duplication and complexity.
๐ฏMODULARITY
Without Modules, you can get headache and will probably end up in writing spaghetti code. Modules are easily attachable, detachable and switchable. But making modules isn't an easy task. But don't worry! Pulse-X will reduce your burden a lot. Pulse-X has built-in service locator. Therefore, you can inject your view models on your need so that your code can become less coupling and more cohesive. Pretty easy, right? ๐
Documentation
For more complete documentation, you can read here๐๐ป Pulse-X Documentation
Example
Source code of this example project can be found in
example
folder. More and more examples are coming....
Installing Pulse-X
๐ง๐ง Currently, Pulse-X is under construction.
To use Pulse-X from Pub,
Depend on it
Run this command:
With Flutter:
$ flutter pub add pulse_x
This will add a line like this to your package's pubspec.yaml
(and run an implicit flutter pub get
):
dependencies:
pulse_x: ^version
Alternatively, your editor might support flutter pub get
. Check the docs for your editor to learn more.
Import it
Now in your Dart code, you can use:
import 'package:pulse_x/pulse_x.dart';
If you wanna manually use it from GitHub. Here's the guide.
In your project's
pubspec.yaml
file, underdependencies:
section, use like this.
dependencies:
pulse_x:
git:
url: https://github.com/YeLwinOo-Steve/pulse_x.git
ref: master # master branch
Features
Pulse-X is mainly composed of ( 5 ) features.
- ๐ก Simple Data Management
- ๐ Stream Management
- ๐ฎ Future data Management
- ๐ Dependency Injection (DI)
- ๐งญ Navigator
Usage
1. Simple data management
๐ข Iterate-able data management
- ๐ Documentation โ https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/collection-data
- ๐พ Example โ https://github.com/YeLwinOo-Steve/rand_user
๐ Stream data management
- ๐ Documentation โ https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/stream-data
- ๐พ Example โ https://github.com/YeLwinOo-Steve/stream_time
๐ฎ Future data management
- ๐ Documentation โ https://ye-lwin-oo-1.gitbook.io/pulse-x-state-management/state-management/future-data
- ๐พ Example โ https://github.com/YeLwinOo-Steve/posts