All Projects → instacart → Formula

instacart / Formula

Licence: bsd-3-clause-clear
A functional reactive framework for managing state and side effects based on RxJava.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Formula

mutable
State containers with dirty checking and more
Stars: ✭ 32 (-72.88%)
Mutual labels:  state-management, functional-reactive-programming
Reactive State
Redux-clone build with strict typing and RxJS down to its core. Wrist-friendly, no boilerplate or endless switch statements
Stars: ✭ 135 (+14.41%)
Mutual labels:  functional-reactive-programming, state-management
Mobius.swift
A functional reactive framework for managing state evolution and side-effects [Swift implementation]
Stars: ✭ 361 (+205.93%)
Mutual labels:  functional-reactive-programming, state-management
agile
🌌 Global State and Logic Library for JavaScript/Typescript applications
Stars: ✭ 90 (-23.73%)
Mutual labels:  state-management, functional-reactive-programming
Airstream
State propagation and event streams with mandatory ownership and no glitches
Stars: ✭ 160 (+35.59%)
Mutual labels:  state-management, functional-reactive-programming
Mobx Keystone
A MobX powered state management solution based on data trees with first class support for Typescript, support for snapshots, patches and much more
Stars: ✭ 284 (+140.68%)
Mutual labels:  functional-reactive-programming, state-management
Mobius
A functional reactive framework for managing state evolution and side-effects.
Stars: ✭ 855 (+624.58%)
Mutual labels:  functional-reactive-programming, state-management
Sodium Typescript
Typescript/Javascript implementation of Sodium FRP (Functional Reactive Programming) library
Stars: ✭ 102 (-13.56%)
Mutual labels:  functional-reactive-programming
When Ts
When: recombinant design pattern for state machines based on gene expression with a temporal model
Stars: ✭ 112 (-5.08%)
Mutual labels:  state-management
River pod
A simple way to access state while robust and testable.
Stars: ✭ 1,366 (+1057.63%)
Mutual labels:  state-management
Homebase React
The React state management library for write-heavy applications
Stars: ✭ 101 (-14.41%)
Mutual labels:  state-management
Faste
Component based 📦 Finite State Machine Manager 🤖
Stars: ✭ 105 (-11.02%)
Mutual labels:  state-management
Zproc
Process on steroids
Stars: ✭ 112 (-5.08%)
Mutual labels:  state-management
Store
Aurelia single state store based on RxJS
Stars: ✭ 103 (-12.71%)
Mutual labels:  state-management
React Workshop
⚒ 🚧 This is a workshop for learning how to build React Applications
Stars: ✭ 114 (-3.39%)
Mutual labels:  state-management
Juicr.js
A simple (and tiny <1kb) redux inspired reducer for handling state changes.
Stars: ✭ 102 (-13.56%)
Mutual labels:  state-management
Reflex Vty
Build terminal applications using functional reactive programming (FRP) with Reflex FRP.
Stars: ✭ 117 (-0.85%)
Mutual labels:  functional-reactive-programming
Prodo
Prodo is a React framework to build apps faster.
Stars: ✭ 114 (-3.39%)
Mutual labels:  state-management
Reworm
🍫 the simplest way to manage state
Stars: ✭ 1,467 (+1143.22%)
Mutual labels:  state-management
Sinai
Type safe state management inspired by Vuex
Stars: ✭ 111 (-5.93%)
Mutual labels:  state-management

Formula

A functional reactive framework for managing state and side effects based on RxJava. It enables building deterministic, composable, testable applications.

Check documentation

Check samples

Android Module

The Android module provides declarative API to connect reactive state management to Android Fragments. This module has been designed for gradual adoption. You can use as much or as little of it as you like.

To learn more, see our Integration Guide.

Download

Add the library to your list of dependencies:

dependencies {
    implementation 'com.instacart.formula:formula-rxjava3:0.6.1'
    implementation 'com.instacart.formula:formula-android:0.6.1'
}

License

The Clear BSD License

Copyright (c) 2020 Maplebear Inc. dba Instacart
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted 
(subject to the limitations in the disclaimer below) provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Maplebear Inc. dba Instacart nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY 
THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
OF THE POSSIBILITY OF SUCH DAMAGE.
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].