Skip to content

Nrgy.js

energy

Nrgy.js — это TypeScript-first набор пакетов для реактивного состояния, эффектов и построения архитектуры приложений в стиле MVC/MVVM.

licenceCoverage Status

Описание проекта

Nrgy.js предоставляет набор небольших пакетов для построения реактивных приложений с явным управлением жизненным циклом и опциональными интеграциями с React, RxJS, rx-effects и ditox.

Обзор проекта

Проект построен вокруг нескольких ключевых идей:

  • атомы и вычисляемые атомы для реактивного состояния;
  • эффекты и scheduler'ы для детерминированного распространения изменений;
  • Scope для владения ресурсами и их очистки;
  • контроллеры и view-model для бизнес-логики в стиле MVC/MVVM;
  • опциональные пакеты интеграции для React, ditox, RxJS и rx-effects.

Пакеты спроектированы так, чтобы работать независимо друг от друга, поэтому пользователь может подключать только нужные части.

Основные возможности

  • Реактивное состояние через atom(), compute() и effect()
  • Явное управление жизненным циклом через Scope
  • MVC/MVVM-примитивы для контроллеров и view-model
  • React-интеграция через хуки и higher-order components
  • Интероперабельность с RxJS и rx-effects
  • Интеграция dependency injection через ditox
  • Строго типизированный TypeScript-first API

Изменения

Установка

Устанавливайте только те пакеты, которые действительно нужны:

ПакетНазначениеУстановка
@nrgyjs/coreРеактивный runtime, Scope, MVC/MVVM-примитивыnpm install @nrgyjs/core
@nrgyjs/reactReact-привязки для атомов, контроллеров и view-modelnpm install @nrgyjs/core @nrgyjs/react react
@nrgyjs/ditoxDI-extensions для ditoxnpm install @nrgyjs/core @nrgyjs/ditox ditox
@nrgyjs/ditox-reactReact-мост для ditox и Nrgy-контроллеровnpm install @nrgyjs/core @nrgyjs/ditox @nrgyjs/react @nrgyjs/ditox-react ditox ditox-react react
@nrgyjs/rxjsИнтеграция с RxJSnpm install @nrgyjs/core @nrgyjs/rxjs rxjs
@nrgyjs/rx-effectsИнтеграция с rx-effectsnpm install @nrgyjs/core @nrgyjs/rxjs @nrgyjs/rx-effects rx-effects rxjs

Документация

Список пакетов