Spacy, Simple, Scalable State Management Framework
const App = new Agile();
const MY_FIRST_STATE = App.createState("Hello Stranger!");
const myFirstState = useAgile(MY_FIRST_STATE);
To find out more checkout our documentation.
⛳️ Sandbox
Test AgileTs yourself, it's only one click away. Just select your preferred Framework below.
- React
- Vue (coming soon)
- Angular (coming soon)
🚅 Straightforward
Write minimalistic, boilerplate free code that captures your intent.
Some straightforward syntax examples:
- Store State in the Local Storage
MY_STATE.persist("storage-key")
- Create reactive Collection of States
const MY_COLLECTION = App.Collection();
MY_COLLECTION.collect({id: 1, name: "Frank"});
MY_COLLECTION.collect({id: 2, name: "Dieter"});
- Mutate or Check States with simple Functions
MY_STATE.undo();
MY_STATE.is({hello: "jeff"});
🤸 Flexible
- Works in nearly every UI-Framework. Check here if your desired framework is supported, too.
- Surly behaves with the workflow that suits you best.
No need for reducers, actions, ..
- Has no external dependencies
🌌 Centralize
Manage your Application Logic in a central place outside any UI-Framework.
This makes your code more decoupled, portable, and above all, easily testable.
🎯 Easy to Use
Learn the powerful tools of AgileTs in a short amount of time.
A good place to start is in our documentation.
And I'm sure you'll be able to use AgileTs very soon.
🍃 Lightweight
AgileTs has an unpacked size of 52.7kB
and 0 dependencies.
To properly use AgileTs, in an UI-Framework we need two packages.
-
The Core Package, which acts as the brain of AgileTs and manages all our States
npm install @agile-ts/core
-
And a fitting Integration for our preferd UI-Framework.. in my case React.
Check here if your desired Framework is supported, too.
npm install @agile-ts/react
If AgileTs sounds interesting to you.
Checkout our docs.
And I am sure you will be able to use it in no time.
In case you have any questions don't mind joining our Discord Community.
Get a part of AgileTs and start contributing.
To find out more checkout the CONTRIBUTING.md.
We welcome any meaningful contribution 😀
AgileTs is inspired by PulseJs