awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ReactiveX avatar

ReactiveX/RxSwift

0
View on GitHub↗
24,648 stars·4,161 forks·Swift·MIT·32 views

RxSwift

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 frequent operator combinations into custom reusable logic.

The system covers a broad range of capabilities, including asynchronous stream management, resource lifecycle control via disposables, and error resilience through retry mechanisms. It provides integration adapters for HTTP requests, system notifications, and key-value observation, while offering testing utilities for simulating virtual time and verifying event sequences.

Features

  • Reactive Data Bindings - Automatically synchronizes user interface components with underlying data state changes via reactive bindings.
  • Resource Lifecycle Managers - Provides a disposable-based mechanism for predictable cleanup of subscriptions to prevent memory leaks.
  • Asynchronous Streams - Defines asynchronous sequences that emit data independently or upon subscription triggers.
  • Reactive Extensions - Provides a library for composing asynchronous and event-based programs using observable sequences.
  • Stream Type Abstractions - Implements a unified type system to model diverse asynchronous data sequences through a single interface.
  • UI Data Binding - Provides a mechanism to synchronize user interface elements with underlying data models using reactive observers.
  • Asynchronous Event Dispatchers - Manages complex sequences of asynchronous events using non-blocking dispatchers.
  • Asynchronous Error Handlers - Provides mechanisms for propagating and managing errors within asynchronous execution flows.
  • Observable Streams - Provides functional operators to transform and filter event sequences through observable stream composition.
  • Push-Based Data Propagation - Implements an observer-based push model that propagates asynchronous events to multiple subscribers.
  • Push-Based Data Stream Frameworks - Provides a framework for managing push-based data flows and combining multiple event sources into a single pipeline.
  • Reactive Programming Libraries - Implements reactive design patterns in application logic for composing asynchronous programs in Swift.
  • UI State Management - Provides a reactive framework for managing and synchronizing the state of user interface elements via data streams.
  • Stream Composition - Enables the combination of multiple network requests and callback APIs into single, manageable reactive streams.
  • Asynchronous Stream Processors - Provides utilities for transforming continuous asynchronous data flows using a declarative functional approach.
  • Data Binding Systems - Synchronizes internal data models with user interface states using event-driven mechanisms.
  • Functional Stream Transformations - Filters, throttles, and merges multiple asynchronous data sources using a functional programming approach.
  • Stream Subscriptions - Distributes a single subscription across multiple observers with support for replaying historical elements.
  • Event Stream Simulators - Triggers events at specific intervals using a virtual time scheduler to verify outputs.
  • Observable Operator Extensions - Encapsulates frequent operator combinations into reusable logic to extend base observable types.
  • System Notification Integrations - Converts system-wide notifications into observable streams for integration with asynchronous logic.
  • Asynchronous HTTP Clients - Wraps network session tasks into observables to execute HTTP requests asynchronously with cancellation support.
  • Virtual Time Schedulers - Includes a virtual time scheduler to test time-dependent event streams deterministically.
  • Property Change Observers - Tracks changes to object properties using observers and emits these changes as event streams.
  • Reactive KVO Adapters - Converts key-value notifications into reactive streams to track object property changes in real time.
  • Event Stream Merging - Combines multiple data sources into a single stream to filter and aggregate information.
  • Execution Schedulers - Allows routing of stream execution to specific dispatch queues to control timing and threading.
  • Automated Retry Strategies - Implements mechanisms to automatically re-attempt failed operations to recover from transient errors.
  • Stream Aggregators - Combines multiple asynchronous requests into a single consolidated response using stream aggregation operators.
  • Asynchronous Operation Cancellation - Terminates active asynchronous tasks in a chain when a subscription ends to prevent resource leaks.
  • Main-Thread Event Delivery - Delivers asynchronous events specifically to the main thread to ensure safe user interface updates.
  • Subscription Lifecycle Management - Cleans up resources by disposing of subscriptions manually or using automated disposal bags.
  • Throttling Utilities - Provides utilities for limiting the execution frequency of events to prevent system overload.
  • Virtual Time Testing - Verifies the behavior of time-dependent event streams using virtual time schedulers.
  • Continuous Event Emission - Emits continuous sequences of data that remain active for all subscribers without terminating.
  • Property State Tracking - Tracks the state of UI control properties and replays the current value to new subscribers on the main thread.
  • UI Event Watchers - Implements utilities for tracking interaction events within the user interface and routing them to subscribers.
  • Callback-to-Stream Adapters - Converts callback and delegate-based asynchronous interfaces into observable streams for consistent composition.
  • Event Handling - Reactive extensions for asynchronous programming.
  • Reactive Programming - Reactive programming framework for composing asynchronous streams.

Star history

Star history chart for reactivex/rxswiftStar history chart for reactivex/rxswift

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to RxSwift

Similar open-source projects, ranked by how many features they share with RxSwift.
  • reactivecocoa/reactivecocoaReactiveCocoa avatar

    ReactiveCocoa/ReactiveCocoa

    19,835View on GitHub↗

    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

    Swift
    View on GitHub↗19,835
  • neuecc/unirxneuecc avatar

    neuecc/UniRx

    7,326View on GitHub↗

    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

    C#
    View on GitHub↗7,326
  • reactor/reactor-corereactor avatar

    reactor/reactor-core

    5,224View on GitHub↗

    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

    Javaasynchronousflowflux
    View on GitHub↗5,224
  • baconjs/bacon.jsbaconjs avatar

    baconjs/bacon.js

    6,458View on GitHub↗

    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

    TypeScript
    View on GitHub↗6,458
See all 30 alternatives to RxSwift→

Frequently asked questions

What does reactivex/rxswift do?

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.

What are the main features of reactivex/rxswift?

The main features of reactivex/rxswift are: Reactive Data Bindings, Resource Lifecycle Managers, Asynchronous Streams, Reactive Extensions, Stream Type Abstractions, UI Data Binding, Asynchronous Event Dispatchers, Asynchronous Error Handlers.

What are some open-source alternatives to reactivex/rxswift?

Open-source alternatives to reactivex/rxswift include: reactivecocoa/reactivecocoa — ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for… neuecc/unirx — UniRx is a reactive programming library and event orchestration framework for the Unity engine. It implements… reactor/reactor-core — Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines… baconjs/bacon.js — Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data… cysharp/r3 — R3 is a reactive extensions library and asynchronous data pipeline framework. It provides a system for composing… reactivex/rxjava — RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous…