The energy for reactive programming with MVC/MVVM patterns
The library provides components for programming with reactive state and effects using MVC/MVVM design patterns.
Core components include Atoms (stores), Signals (event emitters), Scopes and Effects (subscriptions), which form an efficient computation graph.
Additionally, the library includes an MVC/MVVM feature, that provides building blocks for programming Controllers for a business layer and View Models for a presentation layer. Controllers and view models can be extended using other features in an optional way.
Other parts of the library include integrations with third-party tools and frameworks. At the moment the following are supported:
- React - a library for creating web user interfaces
- Ditox.js - a dependency injection container and modules
- RxJS - a reactive programming library for composing asynchronous or callback-based code
- RxEffects - the predecessor of Nrgy.js, a reactive state and effect management library based on RxJS
All of these integrations are optional and can be used independently.
The core and MVC components are framework-agnostic and can be used by web and server applications, libraries and CLI tools.
- Reactive state and effects
- Fast and efficient computation graph
- Tools for MVC/MVVM patterns
- Framework-agnostic core components
- Developer-friendly functional API
- Typescript typings
Nrgy is the all-in-one package with optional dependencies for particular integrations.
npm install nrgy
Install additional dependencies according to the following table:
Import | Dependencies | Command |
---|---|---|
nrgy |
No dependencies | |
nrgy/mvc |
No dependencies | |
nrgy/mvc-react |
React.js | npm i react |
nrgy/react |
React.js | npm i react |
nrgy/ditox |
Ditox.js | npm i ditox |
nrgy/ditox-react |
Ditox.js, React.js | npm i ditox react |
nrgy/rx-effects |
RxJS, RxEffects | npm i rx-effects |
nrgy/rxjs |
RxJS | npm i rxjs |
nrgy/rxjs-react |
RxJS, React.js | npm i rxjs react |
Find more docs at https://nrgy.js.org