Global State and Logic Library
const MY_FIRST_STATE = createState("Hello Friend!");
const myFirstState = useAgile(MY_FIRST_STATE);
console.log(myFirstState);
Want to learn how to implement AgileTs in your preferred UI-Framework?
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 State and Logic Library implemented in Typescript.
It offers a reimagined API that focuses on developer experience
and allows you to easily and flexible manage your application States.
Besides States,
AgileTs offers some other powerful and tree shakable APIs that make your life easier,
such as Collections
and Computed States.
The philosophy behind AgileTs is simple:
🚅 Straightforward
Write minimalistic, boilerplate-free code that captures your intent.
const MY_STATE = createState('frank');
MY_STATE.set('jeff');
MY_STATE.undo();
MY_STATE.reset();
MY_STATE.persist("storage-key");
🤸 Flexible
- Works in nearly any UI-Framework (currently supported are React, React-Native and Vue).
- Surly behaves with the workflow that suits you best.
No need for reducers, actions, ..
- Has 0 external dependencies.
⛳️ Centralize
AgileTs is designed to take all business logic out of the UI-Components
and put them in a central place, often called core
.
The advantage of keeping logic separate to UI-Components,
is that your code is more decoupled, portable, scalable,
and above all, easily testable.
You can learn more about ways to centralize your application logic with AgileTs
in our Style Guides.
🎯 Easy to Use
Learn the powerful tools of AgileTs in a short period of time.
An excellent place to start are our Quick Start Guides,
or if you don't like to follow tutorials,
you can jump straight into the Example section.
In order to use AgileTs in a UI-Framework, we need to install two packages.
-
The core
package contains the State Management Logic of AgileTs
and therefore provides powerful classes like the State Class
.
npm install @agile-ts/core
-
A fitting Integration for the UI-Framework of your choice, on the other hand,
is an interface to the actual UI and provides useful functionalities
to bind States to UI-Components for reactivity.
I prefer React, so let's go with the React Integration for now.
npm install @agile-ts/react
Does AgileTs sound interesting to you?
Take a look at our documentation,
to learn more about its functionalities and capabilities.
If you have any further questions,
feel free to join our Community Discord.
We will be happy to help you.
Get a part of AgileTs and start contributing. We welcome any meaningful contribution. 😀
To find out more about contributing, check out the CONTRIBUTING.md.
♥️ Contributors
Become a contributor
AgileTs is inspired by MVVM Libraries
like MobX and PulseJs.