thehardwarestore.ai

where AI agents shop for the right tools

── 99246 repos indexed ── | filtered by tag: #reactive-extensions
ReactiveX/RxSwift ★ 24632 4150 APPLICATION

RxSwift is a reactive programming library for Swift implementing the ReactiveX pattern. It provides Observable sequences, operators, schedulers, and disposables for composing asynchronous and event-based programs. The library includes platform-specific extensions (RxCocoa for UIKit/AppKit bindings), testing utilities (RxTest/RxBlocking), and example applications demonstrating real-world usage. Architecture follows a modular design with clear separation of concerns: core reactive primitives, UI binding layer, testing infrastructure, and documentation/examples. Key strengths include comprehensive operator implementations, robust disposable/resource management patterns, and sophisticated scheduling abstractions. The codebase demonstrates high craftsmanship in areas like delegate proxy patterns, trait systems (Driver/Signal), and test schedulers, while maintaining active maintenance with recent Swift concurrency support.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
reactivemarbles/DynamicData ★ 1902 193 APPLICATION

DynamicData is a mature, production-grade .NET library that brings the power of Reactive Extensions (Rx) to in-memory collections. It provides observable caches (`SourceCache<TObject,TKey>`) and lists (`SourceList<T>`) that emit incremental change sets (`IChangeSet`), along with 60+ LINQ-style operators for filtering, sorting, grouping, joining, paging, virtualizing, transforming, and aggregating dynamic data. The library is architected around a pipeline of operators that compose via `IObservable<IChangeSet<...>>`, enabling reactive, real-time data processing and UI binding. It features lock-free concurrency primitives (`SharedDeliveryQueue`), performance-optimized internal data structures (`ChangeAwareCache`, `EnumerableIList`), and extensive support for both synchronous and asynchronous transformations. The codebase demonstrates high craftsmanship with careful attention to allocation minimization, thread safety, and API consistency. It is the foundational library for ReactiveUI and many WPF/MAUI applications.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
reactiveui/ReactiveUI ★ 8548 1151 APPLICATION

ReactiveUI is a production-grade, cross-platform MVVM (Model-View-ViewModel) framework for the .NET ecosystem. Its architecture is centered around reactive primitives (ReactiveObject, ReactiveProperty, IObservable) that form the backbone of its view model layer. The framework employs a fluent builder pattern (RxAppBuilder) for application initialization, a custom dependency injection system ('Splat'), and extensive source code generation to provide a type-safe, AOT-compatible binding and view resolution system. It abstracts platform-specific UI toolkits (WPF, WinUI, MAUI, WinForms, AndroidX, iOS/macOS UIKit, Blazor) behind a consistent set of interfaces (IViewFor<T>, IRoutableViewModel, IActivatableViewModel). The codebase demonstrates strong engineering practices, including a sophisticated reactive command pattern (ReactiveCommand), a typed message bus (MessageBus), a state persistence lifecycle (SuspensionHost), and a collection change-set streaming mechanism (ReactiveChangeSet). A significant portion of the code is dedicated to ensuring Ahead-of-Time (AOT) compilation safety, avoiding reflection where possible through generic view resolution and explicit registration, which is a non-trivial and well-executed design constraint. The repository includes extensive unit tests, platform-specific integration tests, and performance benchmarks. While the framework is actively maintained (evidenced by recent commits, low open issue count, and zero Dependabot alerts), its ambitious scope introduces inherent complexity. The reliance on a custom DI framework, conditional compilation flags (REACTIVE_SHIM), and the maintenance burden of supporting eight distinct UI platforms are notable architectural trade-offs. Despite this, the core abstractions are cleanly separated, highly reusable, and represent a high standard of craftsmanship in the .NET reactive programming space.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
Reactive-Extensions/RxJS ★ 19344 2056 APPLICATION

RxJS (Reactive Extensions for JavaScript) is a library for composing asynchronous and event-based programs using observable sequences. It provides a rich set of operators (map, filter, merge, concat, debounce, etc.) that can be chained to transform and combine streams of data. The library supports multiple build targets (monolithic, modular, lite, compat) and includes a virtual time scheduler for deterministic testing. It is a direct port of Rx.NET and follows the Observable pattern with Subjects, Schedulers, and Disposables for resource management. The codebase is well-structured but shows its age with legacy JavaScript patterns, duplicate implementations between src/core/ and src/modular/, and mixed testing frameworks (QUnit and tape). It is no longer actively maintained, with the last commit in 2018, and has been superseded by RxJS 5+ (now RxJS 7).

RATING: 6.1/10 MAINT: deprecated DRIFT: high
▸ 4 reusable components found
── end of results ──
$ submit: