All Projects → Darmody → rxact

Darmody / rxact

Licence: MIT license
Rxact is an observable application management for Javascript app

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to rxact

Rxviz
Rx Visualizer - Animated playground for Rx Observables
Stars: ✭ 1,471 (+6904.76%)
Mutual labels:  rxjs, stream, observable
Marble
Marble.js - functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS.
Stars: ✭ 1,947 (+9171.43%)
Mutual labels:  rxjs, stream, observable
mst-effect
💫 Designed to be used with MobX-State-Tree to create asynchronous actions using RxJS.
Stars: ✭ 19 (-9.52%)
Mutual labels:  rxjs, stream, observable
Od Virtualscroll
🚀 Observable-based virtual scroll implementation in Angular
Stars: ✭ 133 (+533.33%)
Mutual labels:  rxjs, observable
Rx React Container
Use RxJS in React components, via HOC or Hook
Stars: ✭ 105 (+400%)
Mutual labels:  rxjs, observable
Rxios
A RxJS wrapper for axios
Stars: ✭ 119 (+466.67%)
Mutual labels:  rxjs, observable
Evolui
A tiny reactive user interface library, built on top of RxJs.
Stars: ✭ 43 (+104.76%)
Mutual labels:  rxjs, observable
Redux Most
Most.js based middleware for Redux. Handle async actions with monadic streams & reactive programming.
Stars: ✭ 137 (+552.38%)
Mutual labels:  rxjs, observable
Rxjs Hooks
React hooks for RxJS
Stars: ✭ 1,953 (+9200%)
Mutual labels:  rxjs, observable
Awesome Rxjs
Awesome list of RxJS 5
Stars: ✭ 141 (+571.43%)
Mutual labels:  rxjs, observable
vuse-rx
Vue 3 + rxjs = ❤
Stars: ✭ 52 (+147.62%)
Mutual labels:  rxjs, state
Rx Sandbox
Marble diagram DSL based test suite for RxJS 6
Stars: ✭ 151 (+619.05%)
Mutual labels:  rxjs, observable
observable-profiler
Tracks new & disposed Observable subscriptions
Stars: ✭ 41 (+95.24%)
Mutual labels:  rxjs, observable
Angular1 Async Filter
Angular2 async pipe implemented as Angular 1 filter to handle promises & RxJS observables
Stars: ✭ 59 (+180.95%)
Mutual labels:  rxjs, observable
React Eva
Effects+View+Actions(React distributed state management solution with rxjs.)
Stars: ✭ 121 (+476.19%)
Mutual labels:  rxjs, observable
Rxemitter
RxEmitter = 🐟Rxjs + 🐡eventBus.
Stars: ✭ 43 (+104.76%)
Mutual labels:  rxjs, observable
Ngx Restangular
Restangular for Angular 2 and higher versions
Stars: ✭ 787 (+3647.62%)
Mutual labels:  rxjs, observable
Withobservables
HOC (Higher-Order Component) for connecting RxJS Observables to React Components
Stars: ✭ 41 (+95.24%)
Mutual labels:  rxjs, observable
Jupyterlab Data Explorer
First class datasets in JupyterLab
Stars: ✭ 146 (+595.24%)
Mutual labels:  rxjs, observable
ng-observe
Angular reactivity streamlined...
Stars: ✭ 65 (+209.52%)
Mutual labels:  rxjs, observable

Rxact

npm version CircleCI master Coveralls master

Rxact is an observable application management for Javascript app.

中文 README

Introduction

Rxact help developer managing application logic and state. Rxact is related to reactive programing, make sure it is what you are familiar with or you want.

Docs

Core Concept

No Store

It means there is no concept about store in Rxact, but you can still store state. In other state containers like Redux, store is a core concept, because they are forcing on state management. But for mordern Javascript application, state management is not good enough. We need to maintain complex application logic now.

Stream

Image your application from top to down, for example, from 'user login' to 'button click'. You will see lots of logic streams, and they are combined and splited. That is what Rxact thinking, managing your application in stream way.

StateStream

The core component in Rxact is StateStream, which is a stream of state. In StateStream you can define operator and event for state, then you can observe the changing of state. And StateStream can even combined together to become a new StateStream. That is the way Rxact manage your application.

Installation

yarn add rxact

Getting Started

Step 1, chosing your favorite observable lib.

Rxact supports any lib implement ECMAScript Observable . including(but not only):

Step 2, setup Rxact.

Assume you chosed RXJS, then

import { StateStream } from 'rxact'
import Rx from 'rxjs'
import { setup } from 'rxact'

setup({ Observable: Rx.Observable })

Step 3, let's start by writing a counter

import { StateStream } from 'rxact'

/**
 * StateStream is a stream for managing state and logic.
 * You shold named the stream and give it initial value.
 * After that, we can emit value and listen to it.
 */
const stream = new StateStream('stream', 0)

/**
 * Emitter is a operator for emitting new value. We define a emitter named "increment" here.
 * Everytime "increment" executed, "stream" will receive new value which equal to previous value plus input value.
*/
stream.emitter('increment', value => prevState => (prevState + value))

/**
 * Subscribing the stream and outputting values.
 * After you subscribed, it will output current value immediately, which means initial value here.
**/
stream.subscribe(value => { console.log(value) })

stream.increment(1)
// output 1.
stream.increment(1)
// output 2.
stream.increment(2)
// output 4.

For more infomation, please check documents below.

Examples

Here are more complex exmaples

You can checkout the source code on rxact-examples.

Plugins

You can enhance Rxact by adding plugins.

Lisence

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].