Global, simple, spacy State and Logic Framework
const App = new Agile();
const MY_FIRST_STATE = App.createState("Hello Friend!");
const myFirstState = useAgile(MY_FIRST_STATE);
To learn out more, check out our Quick Start Guides.
⛳️ Sandbox
Test AgileTs yourself in a codesandbox.
It's only one click away. Just select your preferred Framework below.
More examples can be found in the Example Section.
AgileTs is a global, simple, well-tested State Management Framework implemented in Typescript.
It offers a reimagined API that focus on developer experience and allows you to quickly and easily manage your States.
Besides States, AgileTs offers some other powerful apis that make your life easier.
The philosophy behind AgileTs is simple:
🚅 Straightforward
Write minimalistic, boilerplate-free code that captures your intent.
Some straightforward syntax examples:
- Mutate and Check States with simple Functions
MY_STATE.undo();
MY_STATE.is({hello: "jeff"});
MY_STATE.watch((value) => {console.log(value);});
- Store State in any Storage, like Local Storage
MY_STATE.persist("storage-key");
- Create a reactive Array of States
const MY_COLLECTION = App.createCollection();
MY_COLLECTION.collect({id: 1, name: "Frank"});
MY_COLLECTION.collect({id: 2, name: "Dieter"});
- Compute State depending on other States
const MY_INTRODUCTION = App.createComputed(() => {
return `Hello I am '${MY_NAME.vale}' and I use ${MY_STATE_MANAGER.value} for State Management.`;
});
🤸 Flexible
- Works in nearly any UI-Layer. Check here if your preferred Framework is supported too.
- Surly behaves with the workflow which suits you best. No need for reducers, actions, ..
- Has 0 external dependencies
⛳️ Centralize
AgileTs is designed to take all business logic out of UI-Components and put them in a central place often called core
.
The benefit of keeping logic separate to UI-Components is to make 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. An excellent place to start are
our Quick Start Guides, or if you don't like to follow any tutorials,
you can jump straight into our Example Section.
To properly use AgileTs, in a UI-Framework we need to install two packages.
-
The Core Package, which acts as the brain of AgileTs and manages all your States
npm install @agile-ts/core
-
and a fitting Integration for your preferd UI-Framework. In my case the React Integration.
Check here if your desired Framework is supported, too.
npm install @agile-ts/react
Sounds AgileTs interesting to you?
Checkout our documentation, to learn more.
And I promise you, you will be able to use AgileTs in no time.
In case you have any further questions don't hesitate joining our Community Discord.
Get a part of AgileTs and start contributing. We welcome any meaningful contribution 😀
To find out more checkout the CONTRIBUTING.md.
AgileTs is inspired by MVVM Frameworks like MobX and PulseJs.