/nrgy

Energy for reactive programming

Primary LanguageTypeScriptMIT LicenseMIT

nrgy

energy

The energy for reactive programming with MVC/MVVM patterns

npm licence Coverage Status types downloads

Overview

The library provides components for programming with reactive state and effects using MVC and MVVM-like 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.

Main Features

  • Reactive state and effects
  • Fast and efficient computation graph
  • Tools for MVVM or MVC patterns
  • Framework-agnostic core components
  • Developer-friendly functional API
  • Typescript typings

Usage

Installation

npm install nrgy