30 open-source projects similar to jakewharton/rxbinding, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
RxAndroid is a reactive programming library and binding layer that integrates RxJava with the Android runtime environment. It provides a framework for composing asynchronous data streams and managing event-driven workflows specifically tailored for Android's threading requirements. The library functions as an Android thread scheduler, routing reactive operations to the main UI thread or specific Android loopers. This ensures that asynchronous task outcomes are dispatched to the primary interface thread for safe updates of visual components while preventing background processing from blocking
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
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
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
UniRx is a reactive programming library and event orchestration framework for the Unity engine. It implements observable sequences and functional operators to transform callbacks, coroutines, and engine events into cancellable data streams for unified asynchronous event handling. The library provides a reactive UI binding system that synchronizes data models with user interface elements to trigger automatic visual updates. It includes a type-based publication and subscription system to route messages between producers and consumers, decoupling internal game components. The framework covers a
RxPermissions is a reactive permissions library for Android that manages runtime system permissions using RxJava observables. It serves as a wrapper for the Android runtime permission manager, converting asynchronous system requests and their results into a unified reactive stream. The library eliminates the need for fragmented callback methods by using a hidden fragment to intercept permission request results. This allows the request and the resulting outcome to remain within a single logic flow, avoiding boilerplate callbacks in the activity. The system supports requesting multiple permiss
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
RxLifecycle is a lifecycle management library for RxJava that binds observable streams to Android component lifecycles. It functions as a reactive stream lifecycle wrapper and a memory leak prevention tool by automatically terminating asynchronous sequences when activities or fragments are destroyed. The library integrates RxJava with Android lifecycle states to ensure that resource management is handled automatically. It prevents memory leaks by disconnecting streams and disposing of subscriptions when a component reaches a specific lifecycle state. The project covers the domain of Android
re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
Anko is an Android Kotlin library designed to simplify application development through a set of domain-specific languages and extensions. It functions as a programmatic UI DSL, an SQLite wrapper, an SDK utility, and an asynchronous framework. The project provides a declarative layout system that allows developers to build user interfaces through code instead of static XML markup. It distinguishes itself by offering a fluent database layer that eliminates manual cursor management and a concurrency system that uses weak references to prevent memory leaks in activities. The library covers broad
ReactiveUI is a .NET MVVM framework and functional reactive programming library designed to decouple application state from the user interface. It functions as a reactive state management tool that uses observable streams to handle mutable data and asynchronous event-driven logic. The framework provides a cross-platform UI toolkit that abstracts business logic from platform-specific views. This enables the creation of consistent user interfaces across multiple .NET platforms by utilizing platform-agnostic abstractions. The system focuses on application state management and decoupled UI testi
AboutLibraries is an open-source license compliance tool designed to collect, validate, and display third-party library licenses within software projects. It functions as a system for gathering dependency metadata at compile time and validating those libraries against a list of approved licenses to ensure legal compliance. The project provides a license validation engine that can enforce compliance by halting the build process when unauthorized licenses are detected. It also includes a set of visual components for rendering dependency and funding information within a user interface for third-
LeakCanary is a diagnostic tool designed to identify memory leaks by monitoring object lifecycles and analyzing heap snapshots. It automatically detects objects that fail to be garbage collected after their expected lifespan, providing developers with actionable insights to prevent performance degradation and application crashes. The project distinguishes itself by offloading memory-intensive heap parsing to a separate background process, which minimizes performance impact on the main application during runtime. It includes sophisticated deobfuscation capabilities that map obfuscated stack tr
This is a layout library for Android applications that implements the CSS Flexible Box layout model. It provides a view container and engine that arrange child views by distributing space and aligning content according to a flexible box model. The framework enables the creation of responsive user interfaces that automatically adjust element positioning, wrapping, and growth based on available screen dimensions and orientations. The system includes capabilities for adaptive layout workflows, dynamic element alignment, and a virtualized rendering system for recycling views to display large dat
This repository is a collection of practical implementation patterns and reference samples for using RxJava 2 to manage asynchronous data streams in Android applications. It serves as a reactive programming implementation guide, providing code examples for handling complex event-driven logic and asynchronous patterns within mobile environments. The project distinguishes itself by providing specific reference implementations for common mobile challenges, such as real-time search with debouncing, on-demand list pagination for infinite scrolling, and cache-first data streaming to reduce perceive
This is the comprehensive documentation website for the Vue 2 progressive JavaScript framework. It serves as a technical reference and development guide for building reactive user interfaces and single-page applications. The site provides a detailed JavaScript API reference and a web component directory. It covers the implementation of component-based architectures, reactive state management, and the use of a virtual DOM to synchronize application state with the browser. The documentation details capabilities including client-side routing, declarative DOM manipulation, and frontend build opt
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
Zepto is a minimalist JavaScript toolkit providing an API for DOM manipulation, event handling, and asynchronous HTTP requests. It functions as a jQuery-compatible library, allowing developers to select, modify, and animate HTML elements using a concise and chainable syntax. The library includes an asynchronous HTTP client for exchanging data with remote servers without triggering page reloads and a browser-based event handler that supports standard mouse events and mobile touch gestures. Its capability surface covers CSS selector-based querying, element transition animations, and the serial
Hotkey is a client-side JavaScript library designed to enhance web application accessibility and navigation through keyboard shortcut integration. It enables developers to bind keyboard shortcuts and multi-key sequences directly to HTML elements using declarative attributes. The library functions as a web component and DOM interaction helper that triggers clicks, focus events, or custom actions when specific key combinations are pressed. The project features document-level event delegation to capture global keyboard inputs efficiently and route them to targeted elements. It includes input sco
Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user interfaces. It functions as a server-side rendering engine and a client-side framework that synchronizes application state with the visual interface through a declarative structure. The project distinguishes itself as a React-compatible UI framework, providing a compatibility layer that allows components designed for other reactive environments to run without modification. Its capability surface covers virtual DOM management, including node diffing and reconciliation, and a full serve
Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly. The toolkit includes a built-in client side router that maps browser URL paths to specific components without reloading the page. It also features an integrated HTTP request client for performing asynchronous network calls to remote APIs for data retrieval and transmission. The framework covers broad capabilities for frontend development, incl
react-native-firebase is a modular set of libraries that integrates Firebase cloud services into cross-platform mobile applications. It serves as a native-SDK wrapper, mapping JavaScript method calls to native iOS and Android Firebase SDKs via the React Native bridge to provide a type-safe interface for mobile backend integration. The project enables connectivity to a wide array of cloud services, including user authentication and identity management, NoSQL cloud databases with real-time synchronization, and scalable cloud storage for media files. It also provides tools for sending push notif
Eros-FE is a TypeScript web frontend designed as a React-based single page application. It provides a component-driven user interface for interacting with backend services and managing application state through a type-safe client. The project utilizes a client-side route manager to swap visible components without full page refreshes and employs a CSS-in-JS styling framework to tie component logic directly to visual presentation. The application covers frontend interface design, client-side state management, and the integration of browser interfaces with backend APIs.
Xilem is a native user interface framework for the Rust programming language. It provides a reactive view tree that links application state to the interface to automate updates when data changes. The framework incorporates a GPU-accelerated 2D graphics engine and a dedicated text layout engine to handle complex typography and high-performance visual rendering. It is built as an accessible UI framework with integrated support for system accessibility services and screen readers. The system utilizes a retained-mode architecture with a graphics pipeline that translates drawing commands into har
Android-ObservableScrollView is an Android UI component and scroll event library that serves as a view scroll observer. It monitors user movement within scrollable views to provide callbacks that execute specific logic in response to user interaction. The library enables the tracking of scroll events to trigger custom animations and dynamic visual effects. This allows for the implementation of UI behaviors that react in real time as a user scrolls through content.
Ractive is an open-source JavaScript framework for building reactive user interfaces where the DOM automatically updates when underlying data changes. It is fundamentally a declarative data binding library that synchronizes data between the model and the view, enabling two-way binding without manual DOM manipulation, and operates as a template-based component system for composing markup, styles, and logic into reusable UI components. The framework distinguishes itself through a plugin-extensible architecture that allows custom components, adaptors, and extensions to be registered without modi
Android-Boilerplate is a modular Android project template pre-configured with dependency injection, reactive streams, and testing tools to accelerate mobile application development. The codebase integrates Dagger for managing component dependencies and object lifecycles, and implements RxJava for asynchronous data streams and event-driven application state management. The application architecture incorporates a pre-configured testing suite using Espresso and Mockito for executing both unit and user interface instrumentation tests. Data handling includes local-first database persistence along
Bond is a Swift data binding framework designed to synchronize data models and user interface elements through one-way and two-way value flows. It functions as a reactive suite for monitoring collection changes, transforming data streams, and bridging user interface events to data models. The project provides a reactive bridge that transforms user interface interactions and protocol delegate method calls into observable signals. It includes a collection observer to monitor changes in arrays and a functional data stream processor that applies operators to modify or combine values before they r
This project is a frontend development blog and technical knowledge base. It serves as a software engineering reference and web development portfolio, providing a curated collection of articles and notes on front-end engineering, programming patterns, and computer science fundamentals. The site focuses on frontend engineering education and technical knowledge management. It covers software architecture patterns, web development workflows, and engineering interview preparation through the organization of technical guides and tutorials. The project's scope includes the documentation of browser