Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide
EventBus is a publish-subscribe messaging library designed to facilitate decoupled communication between components in Java applications. It functions as a central hub where producers dispatch events that are routed to subscribers based on the class type of the payload. By using annotation-based markers, the system maps event handlers to specific data types, allowing different parts of an application to exchange information without requiring direct references between classes. The library distinguishes itself through a focus on performance and execution control. It utilizes a compile-time inde
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
This project is a sample library and implementation guide for using RxJava to manage asynchronous data streams and concurrent tasks in Android applications. It provides a collection of reference implementations for reactive programming, focusing on functional operators to transform and combine asynchronous data flows. The library demonstrates specific Android architectural patterns, such as implementing decoupled event buses for component communication and coordinating parallel network requests. It includes concrete examples of mobile-specific patterns including search input debouncing, list
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 main features of reactivex/rxjava are: Observable Sequences, Stream Processing, Asynchronous Streams, Backpressure Controllers, Flow Control Mechanisms, Reactive Extensions, Asynchronous Task Orchestration, Functional Pipelines.
Open-source alternatives to reactivex/rxjava include: reactor/reactor-core — Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines… greenrobot/eventbus — EventBus is a publish-subscribe messaging library designed to facilitate decoupled communication between components in… reactivex/rxswift — RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and… kaushikgopal/rxjava-android-samples — This project is a sample library and implementation guide for using RxJava to manage asynchronous data streams and… reactivecocoa/reactivecocoa — ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for… baconjs/bacon.js — Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data…