RxJava - Reactive Extensions for the JVM

  •        3599

RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences. It extends the observer pattern to support sequences of data/events and adds operators that allow you to compose sequences together declaratively while abstracting away concerns about things like low-level threading, synchronization, thread-safety and concurrent data structures.




Related Projects

Monix - Asynchronous Programming for Scala and Scala.js

Monix is a high-performance Scala / Scala.js library for composing asynchronous and event-based programs, exposing high-level types, such as observable sequences that are exposed as asynchronous streams, expanding on the observer pattern, strongly inspired by ReactiveX and by Scalaz, but designed from the ground up for back-pressure and made to cleanly interact with Scala’s standard library, compatible out-of-the-box with the Reactive Streams protocol.

RxPY - Reactive Extensions for Python

*...is a library for composing asynchronous and event-based programs using observable collections and LINQ-style query operators in Python*The main repository is at [ReactiveX/RxPY](https://github.com/ReactiveX/RxPY).There are currently outdated mirrors at[Reactive-Extensions/RxPy](https://github.com/Reactive-Extensions/RxPy/) and[CodePlex](http://rxpy.codeplex.com/). Please register any issues to[ReactiveX/RxPY/issues](https://github.com/ReactiveX/RxPY/issues), and make sureyour pull requests i

Vert.x - Tool-kit for building reactive applications on the JVM

Vert.x is a tool-kit for building reactive applications on the JVM. Vert.x is event driven and non blocking. This means your app can handle a lot of concurrency using a small number of kernel threads. Vert.x lets your app scale with minimal hardware.Vert.x is incredibly flexible - whether it's simple network utilities, sophisticated modern web applications, HTTP/REST microservices, high volume event processing or a full blown back-end message-bus application.

RxCpp - Reactive Extensions for C++

The Reactive Extensions for C++ (RxCpp) is a library of algorithms for values-distributed-in-time. The Range-v3 library does the same for values-distributed-in-space.The ReactiveX Observable model allows you to treat streams of asynchronous events with the same sort of simple, composable operations that you use for collections of data items like arrays. It frees you from tangled webs of callbacks, and thereby makes your code more readable and less prone to bugs.

mongo-java-driver-rx - new driver managed by the Java driver team

An implementation of the MongoDB Driver providing support for ReactiveX (Reactive Extensions).This project depends on the Mongo Java Driver Async Driver and RxJava.

web3j - Connect Java and Android apps to the Ethereum blockchain

web3j is a lightweight, reactive, type safe Java and Android library for integrating with clients (nodes) on the Ethereum network. This allows you to work with the Ethereum blockchain, without the additional overhead of having to write your own integration code for the platform.

Store - Android Library for Async Data Loading and Caching

Store is an Android library for effortless, reactive data loading.A Store is a class that simplifies fetching, parsing, storage, and retrieval of data in your application. A Store is similar to the Repository pattern [https://msdn.microsoft.com/en-us/library/ff649690.aspx] while exposing a Reactive API built with RxJava that adheres to a unidirectional data flow.

Extensions for Reactive Extensions (Rxx)

Rxx is a library of unofficial reactive LINQ extensions supplementary to Microsoft's Reactive Extensions (Rx) for .NET.

SkyScraper - An asynchronous web scraper / web crawler using async / await and Reactive Extensions

An asynchronous web scraper / web crawler using async / await and Reactive Extensions

rxjava-examples - Reactive Java examples

This repository contains examples that I am writing to learn reactive programming in Java using RxJava library.

AutoDispose - Automatic binding+disposal of RxJava 2 streams.

AutoDispose is an RxJava 2 tool for automatically binding the execution of RxJava 2 streams to a provided scope via disposal/cancellation.Often (especially in mobile applications), Rx subscriptions need to stop in response to some event (for instance, when Activity#onStop() executes in an Android app). In order to support this common scenario in RxJava 2, we built AutoDispose.

toketi-iothubreact - Akka Stream library for Azure IoT Hub

IoTHub React is an Akka Stream library that can be used to read events from Azure IoT Hub, via a reactive stream with asynchronous back pressure, and to send commands to connected devices. Azure IoT Hub is a service used to connect thousands to millions of devices to the Azure cloud.The library can be used both in Java and Scala, providing a fluent DSL for both programming languages, similarly to the approach used by Akka.

frdomain - Code repo for Functional and Reactive Domain Modeling

Code repo for Functional and Reactive Domain Modeling.Functional and Reactive Domain Modeling teaches you how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. You will start with the basics of functional programming and gradually progress to the advanced concepts and patterns that you need to know to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types, typeclass based design, and isolation of side-effects can make your model compose for readability and verifiability. On the subject of reactive modeling, the book focuses on higher order concurrency patterns like actors and futures. It uses the Akka framework as the reference implementation and demonstrates how advanced architectural patterns like event sourcing and CQRS can be put to great use in implementing scalable models. You will learn techniques that are radically different from the standard RDBMS based applications that are based on mutation of records. You'll also pick up important patterns like using asynchronous messaging for interaction based on non blocking concurrency and model persistence, which delivers the speed of in-memory processing along with suitable guarantees of reliability.

Redisson - Redis based In-Memory Data Grid for Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

cyclops-react - An advanced, but easy to use, platform for writing functional applications in Java 8

Powerful Streams and functional data types for building modern Java 8 applications. We extend JDK interfaces where possible for maximum integration.ReactiveSeq extends JDK Stream and offers multiple modes of execution - synchonous, asynchronous, asynchronous with backpressure, parallel and more.

agera - Reactive Programming for Android

Agera is a set of classes and interfaces to help write functional, asynchronous, and reactive applications for Android.Requires Android SDK version 9 or higher.

TymeacRSE - Java Reactive Streams Push Engine

TymeacRSE is a Recursive Streams push engine for managing the publication and distribution of items to subscribers. An efficient push engine allowing (Reactive Stream) Publishers to generate asynchronous streams for routing to Subscribers. It provides an efficient multitasking service that allows many resource-intensive applications to coexist in a single microservice.