55 dépôts
Toolkits for building asynchronous, event-driven, and non-blocking applications.
Explore 55 awesome GitHub repositories matching part of an awesome list · Reactive Programming. Refine with filters or upvote what's useful.
RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous dataflow orchestrator used to compose event-based programs by transforming, combining, and consuming real-time data flows on the Java Virtual Machine. The project distinguishes itself through integrated backpressure flow control, which manages the emission rate between producers and consumers to prevent memory exhaustion. It further provides mechanisms for concurrent thread management and parallel data processing to offload blocking operations and maintain application responsiven
Composes asynchronous event-based programs using observable sequences.
RxJS is a library for reactive programming that provides a framework for composing asynchronous and event-based programs. It utilizes observable sequences to model data flows, allowing developers to manage complex sequences of events through a declarative programming interface. The library implements the observer pattern to facilitate decoupled communication between data producers and subscribers. By employing a lazy execution model, streams remain dormant until a consumer explicitly subscribes, at which point data production is triggered. This approach enables the construction of predictable
Reactive programming library for JavaScript.
MobX is a reactive state management library and fine-grained reactivity engine. It provides an observable data store that automatically triggers updates in the user interface when data structures change, functioning as a transparent functional reactive store to maintain a consistent source of truth. The system utilizes a dependency-graph mapping and proxy-based object observation to track data dependencies. This ensures that only the specific components dependent on changed data are updated, which reduces unnecessary re-renders and optimizes frontend performance. The library supports decoupl
State management library for reactive programming.
RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and composing asynchronous, event-based programs. It utilizes observable sequences and functional operators to transform and filter asynchronous sequences through a declarative approach. The library is distinguished by its ability to link asynchronous data streams directly to user interface elements, automating view updates via reactive data binding. It includes specialized tools for tracking UI control properties and events on the main thread, as well as the ability to encapsulate
Reactive programming framework for composing asynchronous streams.
ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for composing asynchronous data streams and managing application state through signals and functional operators. The framework functions as an Objective-C data binding library that links object properties and method calls to reactive streams using runtime dynamism and swizzling. It includes a utility to convert traditional key-value observation notifications into composable streams for synchronized state tracking. The project covers reactive UI programming by connecting interface el
Streams of values over time for reactive programming.
The Reactive Extensions for JavaScript
Reactive extensions for JavaScript.
ReSwift is a unidirectional data flow framework for Swift applications that centralizes state management within a single store. It ensures predictable and traceable updates by requiring all state modifications to occur through explicit actions processed by reducer functions. The library includes a state time travel debugger that records and replays sequences of actions to reload or rewind the application state. It also provides an asynchronous action dispatcher to handle side effects and network requests while maintaining synchronized state updates. The framework covers a broad surface of st
Unidirectional data flow implementation for Swift.
The .NET Reactive Extensions Library is a framework for composing, querying, and transforming asynchronous data streams. It provides a non-blocking implementation of the observer pattern to manage notifications and data flows between producers and consumers, functioning as an event stream processing library. The project applies LINQ-style querying and filtering operators to asynchronous sequences. This allows for the handling of event-driven programming patterns by utilizing composable operators to process notifications as they occur. The library covers asynchronous data streaming and non-bl
Library for composing asynchronous programs using observable sequences.
Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties. The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream
Functional reactive programming library.
JASONETTE-iOS est un framework d'application mobile piloté par JSON utilisé pour construire des applications iOS en utilisant un balisage JSON déclaratif. Il mappe des données structurées vers des composants iOS natifs et des méthodes système, permettant la définition d'interfaces utilisateur et de réponses aux événements sans écrire de code impératif traditionnel. Le framework inclut un moteur de livraison de logique à distance qui charge la structure et le comportement de l'application via HTTP. Cela permet des mises à jour des interfaces et de la logique applicative « over the air » sans nécessiter la redistribution du binaire de l'application. Le système gère le flux de l'application via une gestion d'état déclarative et une interface de pont natif qui exécute le matériel de l'appareil et les API système. Il peut être utilisé comme outil de développement autonome ou comme extension hybride pour ajouter des ensembles de fonctionnalités dynamiques à des projets iOS natifs existants.
Native app creation using JSON-based definitions.
Ce projet fournit une spécification formelle et un ensemble d'interfaces Java standard pour le traitement de flux asynchrones. Il définit un protocole standardisé pour transmettre des séquences d'éléments entre des éditeurs (publishers) et des abonnés (subscribers) à travers différents threads, en se concentrant sur une spécification de flux réactifs pour la JVM. Le projet se concentre sur l'interopérabilité en fournissant une API commune qui permet à différentes bibliothèques de streaming asynchrone de fonctionner ensemble. Ceci est réalisé grâce à un ensemble standard d'interfaces et de mécanismes de pontage qui traduisent les spécifications de streaming incompatibles. La spécification couvre un protocole de contre-pression (backpressure) non bloquant pour réguler le flux de données et éviter la surcharge du système en exigeant des abonnés qu'ils signalent la demande. Elle définit également le cycle de vie des flux, incluant la gestion des abonnements, le traitement des éléments et la terminaison basée sur des signaux pour le nettoyage des ressources. Le projet inclut un framework pour vérifier le comportement des flux afin de valider la logique de traitement par rapport aux règles de contre-pression et d'événements asynchrones.
Standardized interface for asynchronous stream processing with backpressure.
Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services. The project includes a specialized testing tool for verifying the timing and order of asynchronous data flows and a bill of materials to synchronize compatible versions of core reactive libraries and networking add-ons. Its capability surface covers non-blocking network services, demand-based bac
Framework for building non-blocking applications on the JVM.
Ultra-high performance reactive programming
High-performance FRP library.
Streams of values over time
Reactive streams of values over time.
Open source implementation of Apple's Combine framework for processing values over time.
Open-source implementation of Apple's Combine framework.
🎌 Powerful navigation library for iOS based on the coordinator pattern
Navigation library based on the coordinator pattern.
Reactive collections based on Rx.Net
Reactive extensions specifically for collection management.
RxSwift wrapper around the elegant HTTP networking in Swift Alamofire
RxSwift wrapper for Alamofire networking.
Reactive Keyboard in iOS
Reactive keyboard handling for iOS.
The modular, KISS, functional reactive programming library for JavaScript.
Functional reactive streams for event transformation.