30 open-source projects similar to declarativehub/bond, 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.
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
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
Avalon is a client-side MVVM JavaScript framework that binds model data to DOM elements and automatically updates views when state changes. It functions as a component-based UI framework, encapsulating markup, logic, and styles into reusable custom components that can be composed across pages, while also serving as a virtual DOM diffing engine that computes minimal DOM updates by comparing lightweight in-memory view tree snapshots. The framework distinguishes itself through a template directive compiler that transforms declarative HTML attributes like ms-repeat and ms-if into executable view
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
Walk is a comprehensive framework for building native Windows desktop applications. It functions as a GUI library and Windows API wrapper, providing a toolkit of native widgets and a declarative layout system for developing high-performance user interfaces. The project is distinguished by its data-binding framework, which uses reflection and string-based property paths to synchronize data sources with interface widgets. It also provides specialized support for high-DPI interface scaling and an optimized native message loop to reduce runtime overhead. The toolkit covers a wide range of capabi
RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an asynchronous stream processor and event-driven coordination framework used to build data pipelines that react to changes in state or streams of events over time. The library provides a toolkit for composing asynchronous and event-based programs using observable sequences and operators. It distinguishes itself through the use of configurable schedulers to manage concurrency, timing, and subscription lifecycles. The project covers a wide range of stream processing capabilities, incl
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
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
This project is a custom implementation of the Model-View-ViewModel pattern designed to replicate the core reactivity and template parsing of the Vue framework. It functions as a data-binding engine, a reactive state manager, and a custom template compiler. The framework employs a system for synchronizing model state with DOM elements through property interception and an observer pattern. It uses a parser to scan DOM elements for directives, replacing placeholders and binding data to view nodes to achieve two-way data synchronization. The system covers reactive data binding and the developme
AngularJS is a structural framework for building dynamic web applications by extending standard HTML with custom tags and attributes. It operates as a client-side template engine that transforms declarative markup into interactive components, organizing application logic through a model-view-controller pattern. By utilizing a centralized dependency injection container, the framework manages the lifecycle of services and components to ensure modularity and maintainable architecture. The framework is defined by its two-way data binding mechanism, which automatically synchronizes data models wit
Otto is an event-driven communication system designed as an event bus for Android applications. It provides a mechanism to decouple application components by routing events between them without requiring direct dependencies. The system is state-aware, meaning it can provide the most recent known value to new subscribers immediately upon registration. It operates as a synchronous event dispatcher, ensuring all registered listeners respond to an object before execution continues. The library includes capabilities for event subscription management and thread execution enforcement to restrict ca
This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of
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
Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services. The project includes a specialized testing tool for verifying the timing and order of asynchronous data flows and a bill of materials to synchronize compatible versions of core reactive libraries and networking add-ons. Its capability surface covers non-blocking network services, demand-based bac
gmail.js is a JavaScript library and development kit for building browser extensions that interact with the Gmail web interface. It provides a framework for automating communication workflows, extracting email metadata and content from active browser sessions, and injecting custom UI elements. The library distinguishes itself by enabling interaction with the Gmail interface through DOM manipulation and event interception without requiring external API authentication. It includes a toolkit for programmatically adding buttons, menus, and modal windows directly into the application layout. The
RmlUi is a cross-platform UI renderer and middleware library that enables the creation of user interfaces using a subset of HTML and CSS. It functions as a rendering-agnostic layer designed to integrate web-standard layout and styling into custom game engines and embedded applications. The framework is distinguished by its integration of Lua for dynamic logic and control, as well as a specialized toolkit for rendering SVG images and Lottie animations. It utilizes a pluggable rendering backend that decouples geometry generation from the final display, allowing it to generate textured geometry
textAngular is a rich text editor component for AngularJS applications. It provides a visual editing interface that enables users to format text and embed media, acting as a synchronization layer that connects the editor to an application data model. The editor features a customizable interface where formatting button groups and toolbar layouts are defined via configuration. It supports the registration of custom tools and plugins to extend the editor's functional capabilities. The project covers HTML content binding with two-way data synchronization, event-driven change tracking, and the us
Backbone is a JavaScript MVC framework and client-side data orchestrator used to structure web applications. It functions as an event-driven UI library and RESTful state manager that synchronizes data models with remote JSON interfaces to maintain consistent application state. The framework coordinates communication between application components through a decoupled event system. It binds data updates directly to the document object model, ensuring that the user interface remains synchronized with the underlying state. It provides tools for frontend data organization, allowing developers to
Derby is an isomorphic MVC framework and real-time data synchronization engine designed for building collaborative applications. It functions as a bi-directional data binding library and template engine that shares a single codebase between Node.js and the browser to synchronize state across clients and servers. The framework distinguishes itself through the use of operational transformation to resolve data conflicts automatically, enabling real-time shared editing and multi-user collaboration. It employs a differential state mutation model to minimize updates by performing deep equality chec
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
Recompose is a suite of toolsets for implementing higher-order component composition, context extraction, render optimization, and external state integration. It provides a library of utilities to wrap components in reusable logic and behavioral layers, allowing developers to chain functional wrappers and reduce nesting within a component tree. The project focuses on the composition of functional wrappers to inject properties and behavior into components. It includes a set of helpers for extracting values from component context and passing them as direct properties, as well as tools for integ
RxBinding is an Android UI binding library that transforms standard view listeners into RxJava observables. It serves as a bridge and reactive wrapper, converting user interactions and widget states into reactive data flows. The project enables the implementation of reactive programming patterns across Android system interactions. By treating UI interactions as data streams, it allows for the asynchronous handling of events to decouple the view layer from business logic. The library covers the conversion of UI events into streams, the management of widget states to trigger application update
Angular-chart.js is a frontend charting library that provides a set of reusable directives for integrating the Chart.js visualization engine into AngularJS applications. It functions as a wrapper that encapsulates complex rendering logic within declarative components, enabling the creation of interactive and responsive graphical data representations. The library distinguishes itself by providing reactive data synchronization, which automatically triggers canvas re-renders whenever underlying data or configuration models change. It also utilizes a provider-based configuration system, allowing
Vue.Draggable is a user interface component for Vue that enables drag-and-drop list reordering. It functions as a declarative wrapper for the Sortable.js library, providing a specialized list element that synchronizes the visual order of elements with an underlying data model. The project supports complex interactive layouts, including the ability to transfer items between multiple containers and clone items during the drag process. It provides mechanisms to restrict drag initiation to specific handle elements and allows for the embedding of static content within the draggable area. The fram
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
Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components, without requiring Electron or Chromium. It maps Vue components directly to native widgets from the libui library, creating lightweight applications that run on a single-threaded event loop and compile templates at build time for optimized runtime performance. The framework provides a complete Vue.js component-to-native bridge, enabling two-way data binding via v-model, component-based window composition, and platform-specific package generation for distributing executables. It
vue-draggable-plus is a drag-and-drop library for Vue 2 and Vue 3 used to create data-bound draggable interfaces. It provides components for implementing list sorting and reordering elements within a sequence while synchronizing the visual position of items with the underlying application state. The library includes a cross-list transfer tool that enables the movement of items between multiple containers using shared group identifiers and cloning rules. Interaction can be restricted to specific child elements through handle-based triggering. The project covers a broad range of drag-and-drop
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
RxKotlin is a reactive programming library and asynchronous stream processor that provides Kotlin language extensions for composing event-based data streams. It serves as a set of Kotlin bindings for RxJava, allowing developers to transform, filter, and flatten sequences of data emitted over time. The library focuses on integrating RxJava patterns into Kotlin projects by applying language-specific conventions and idioms. It utilizes extension functions to simplify reactive programming patterns, reduce boilerplate, and optimize workflows within the reactive ecosystem. The toolkit covers a bro
tModLoader is a modding framework and toolset designed for expanding game content and extending core game logic. It provides a polymorphic content API that allows for the creation of new items, NPCs, projectiles, and world assets through object-oriented inheritance. The project is distinguished by its advanced code modification capabilities, utilizing intermediate language bytecode patching and reflection-based private access to alter internal game behavior. It features a hot-reloading assembly runtime that enables developers to recompile and apply source code changes in real-time without res