30 open-source projects similar to reactiveui/reactiveui, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ReactiveUI alternative.
Prism is a XAML application framework and MVVM architectural framework designed to build loosely coupled and testable applications across WPF, Xamarin Forms, and WinUI. It serves as a structural pattern implementation that separates business logic from the user interface to improve maintainability and testing. The framework provides a XAML event bus for exchanging data and triggering actions between independent components without direct coupling. It also functions as a dependency injection integrator, bridging external inversion-of-control containers to manage service delivery across multiple
MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from native user interfaces. It functions as a navigation engine and a UI data binding library, enabling the encapsulation of logic within view models that are reused across different operating systems. The framework provides a native hardware abstraction layer and a dependency injection container to decouple components and provide a consistent interface for accessing device features. It coordinates type-safe transitions between native screens and manages the synchronization of da
This project is a general purpose library for the .NET ecosystem, providing a collection of reusable helper methods and APIs for common programming tasks. It encompasses a UI component library for cross-platform development, a toolkit for MVVM architecture, and specialized utilities for memory management and native interoperability. The library distinguishes itself through high-performance memory abstractions, such as pooled buffers and contiguous two-dimensional memory spans, designed to reduce garbage collection pressure. It also provides native interop wrappers and bindings to facilitate d
Cycle.js is a functional reactive web framework and observable-driven UI library used for building web applications. It employs a reactive stream architecture that treats the document object model and side effects as continuous data streams, coordinating state and logic through a functional cycle. The framework distinguishes itself by isolating side effects from core logic using a system of drivers. This architecture maps external events to internal commands through a symmetric input-output pipeline, ensuring that the application remains a cycle of pure functions. The project provides capabi
Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem
Knockout is a client-side UI library and JavaScript framework used to create responsive web interfaces. It functions as a declarative data binding library and an observable data model system that decouples business logic from the document object model. The project implements the Model-View-ViewModel pattern to separate application logic from the user interface. It synchronizes data models with visual views by linking internal JavaScript properties to HTML elements, allowing the interface to update automatically when underlying data changes. The framework provides capabilities for dynamic fro
Remax is a cross-platform UI framework and engine for building mini programs using React. It functions as a runtime that translates React components and hooks into native mini program elements, avoiding the need for static compilation. The framework provides a type-safe development environment to ensure reliability across cross-platform UI components. It allows for the creation of multi-platform mini programs from a single codebase by mapping React component trees to native structures during execution. The system covers cross-platform mini program development, including UI construction with
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
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
MVVMReactiveCocoa is an iOS application that functions as a Git repository browser and GitBucket client. It is structured as an MVVM application, utilizing the Model-View-ViewModel architectural pattern to separate business logic from the user interface. The project is powered by ReactiveCocoa, employing functional reactive programming to manage asynchronous data streams and bind data models directly to the user interface. This approach uses observer-based state management to synchronize UI components. The application provides capabilities for Git repository management, including searching f
Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w
This project is a cross-platform mobile app template and UI starter for Android and iOS. It provides a foundation for building consistent mobile interfaces from a single declarative codebase. The architecture implements a reactive state management framework using BLoC and RxDart to decouple business logic from the user interface. It also includes an internationalized mobile architecture to manage multi-language support and regional localization across the application. The codebase covers capabilities for mobile client implementation, including the rendering of remote content, local data pers
GetX is a comprehensive state management framework for Flutter that provides a toolkit for managing application state, dependency injection, and routing without requiring build context. It serves as a core architectural system for reactive state management, navigation, service location, and multi-language theme support. The project is distinguished by its ability to handle context-free navigation and the use of observable variables that automatically trigger user interface updates. It features a dependency injection container with lazy loading and automated memory management, alongside a rout
Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that
Iced is a cross-platform GUI library for Rust designed for building native desktop applications. It functions as a reactive toolkit that manages application state by mapping user interactions to messages, which then trigger automatic view refreshes. The framework utilizes a rendering system that supports both hardware-accelerated GPU graphics and software backends to ensure compatibility across multiple operating systems. It implements a reactive model inspired by the Elm architecture to coordinate state updates and view reconciliation. The toolkit includes a flexible layout engine and a mod
MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p
This project is a state management framework for Angular applications that provides a predictable state container. It implements a Redux-style architecture using a centralized store, managing global and local application data through an observable-based data flow of actions and reducers. The framework includes a specialized entity management tool for organizing and synchronizing server-side data collections within client-side stores. It also provides a reactive store system that integrates state updates with Angular signals for change detection and includes debugging mechanisms for time-trave
Observer-util is a reactive state management library that leverages ES6 proxies to automate dependency tracking and synchronization between data and application logic. By wrapping plain data structures in transparent proxies, the library monitors property access and mutations to trigger associated functions automatically whenever the underlying state changes. The library distinguishes itself through its granular control over the reactive lifecycle and execution flow. It provides mechanisms to decouple data change detection from reaction execution, allowing developers to implement custom sched
Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform and Compose Multiplatform to share its user interface across Android, iOS, and desktop platforms. The app follows the Model-View-Intent (MVI) architecture pattern, where user actions are modelled as sealed class intents that reduce into a single immutable state object, ensuring predictable and unidirectional data flow managed through Kotlin coroutines and StateFlow. The application uses Hilt for compile-time dependency injection and SQLDelight for type-safe local data storage, c
wpfui is a framework and component library for Windows desktop applications built with the .NET WPF framework. It provides a collection of modern visual controls, styles, and immersive interface elements that implement the Fluent Design language. The project includes a specialized icon library delivered as font resources and a project template that provides a pre-configured structure for applications using the Model-View-ViewModel architectural pattern and dependency injection. The framework covers Windows desktop development through XAML-based control templating, resource-dictionary style i
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
Valtio is a proxy-based state management library and reactive state engine that provides a mutable state store. It allows application state to be updated through direct object mutations rather than immutable patterns, using JavaScript proxies to track changes and trigger updates. For React applications, it includes a synchronization hook that ensures components re-render only when the specific properties they access are modified. The system supports reactive data derivation through computed properties that automatically update when their underlying dependencies change. It maintains reactivity
NativeBase is a comprehensive toolkit of accessible components and responsive design frameworks used to build consistent mobile and web applications. It provides a cross-platform UI component library and a React Native component framework that enable the creation of layouts across Android, iOS, and the web from a single codebase. The system is distinguished by a responsive design system that automatically adjusts layouts and global themes to fit different screen sizes and color modes. It utilizes a utility-based styling approach, allowing developers to apply visual styles directly through com
Westore is a mini program MVVM framework and cross-platform logic layer designed to isolate application behavior from platform-specific rendering environments. It functions as a decoupled state manager and data binding engine that separates business logic from the user interface. The framework utilizes a model-view-viewModel architecture to maintain a portable model layer, allowing business logic to be tested using mock objects without a running user interface. It employs a diffing process to calculate the shortest data path and automatically update the user interface. The system covers head
TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It serves as a local-first sync engine that merges distributed state using conflict-free replicated data types and logical clocks to ensure deterministic data convergence. The project features a schema validation library that converts external definitions from tools like Zod, Yup, and TypeBox into type-safe store definitions. It provides an infrastructure for real-time collaborative editing, utilizing synchronization with Automerge, Yjs, and PartyKit to maintain consistent state acr
Material Components is a cross-platform user interface framework and design system library that provides a collection of reusable interface elements. It is built to ensure consistent visual identity and interaction patterns across diverse web and mobile environments by utilizing shared design tokens and standardized development guidelines. The project distinguishes itself through a modular architecture that allows for the independent integration or extension of individual interface components. It supports both native and cross-platform implementations, enabling developers to maintain a unifie
Avalonia is a cross-platform desktop framework that enables the creation of native-feeling applications for Windows, macOS, and Linux from a single codebase. It functions as a declarative UI toolkit, allowing developers to define complex visual hierarchies and interface structures using a markup-based syntax that maps directly to underlying object properties. By utilizing the Model-View-ViewModel architectural pattern, the framework facilitates a clean separation between application logic and user interface layout, which simplifies unit testing and component maintenance. The framework disting
react-native-screens is a set of native navigation primitives and a cross-platform UI bridge that maps JavaScript interfaces to platform-specific screen management. It serves as a mobile screen transition engine and a native view hierarchy manager, bridging high-level navigation interfaces to native view hierarchies and transition engines. The project distinguishes itself by unifying navigation experiences across mobile, web, television, and spatial computing devices. It utilizes platform-specific navigation primitives to ensure screen transitions and presentation styles align with native sys
This project is a reference Kotlin Android application template and a set of sample implementations demonstrating Clean Architecture principles. It provides a structural design that isolates core business rules from the user interface and data sources into distinct, layered modules. The implementation focuses on the Model-View-ViewModel (MVVM) pattern to decouple UI logic from data models. It utilizes a dependency injection framework to automate object creation and manage component lifecycles, while employing a repository pattern to abstract data requests across memory, disk, and cloud source
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu