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
·
dvajs avatar

dvajs/dva

0
View on GitHub↗
16,164 stars·3,111 forks·JavaScript·MIT·12 views

Dva

Dva is a state management library and client-side application framework designed for building user interfaces with React and Redux. It functions as an asynchronous logic orchestrator and a single page application router, organizing application data through a structured data flow of reducers, effects, and subscriptions.

The framework distinguishes itself through the use of generator functions to manage asynchronous workflows and sequential side effects, keeping these operations separate from synchronous state updates. It implements namespace-based model organization to group business logic and supports dynamic model injection to load data models and routing logic on demand.

The system covers a broad range of capabilities, including the synchronization of browser URL history with global state, the binding of external data streams such as WebSockets to action dispatchers, and the integration of core plugins for cross-cutting concerns. It also provides tools for hot model replacement during development and centralized error management for asynchronous effects.

Features

  • Application State Management - Provides a comprehensive system for managing and synchronizing application-wide state using reducers, effects, and subscriptions.
  • Redux Implementations - Implements the Redux pattern of actions, reducers, and a centralized immutable store for state management.
  • Model Namespace Organizers - Groups state, reducers, and effects into distinct namespaces to prevent naming collisions and organize business logic.
  • Asynchronous Generator Runners - Utilizes asynchronous generator runners to manage side effects and sequential workflows outside the UI layer.
  • Asynchronous Flow Coordination - Handles complex side effects and sequential asynchronous logic using generator functions to separate business rules from state updates.
  • State Store Namespacing - Organizes global state into namespaced modules to prevent naming collisions and group business logic.
  • Component State Bindings - Connects data models to UI components, enabling them to consume global state and dispatch actions.
  • Generator-Based Coordination - Uses generator functions to manage asynchronous workflows and sequential side effects while keeping state updates synchronous.
  • Single Page Applications - Implements a single-page application architecture that updates content dynamically via client-side navigation.
  • External Stream Subscriptions - Binds external data streams such as WebSockets and keyboard events to trigger internal state actions.
  • Application Route Managers - Maps URL paths to specific components and syncs the router state with the global data store.
  • State-Management Frameworks - Provides a framework for building user interfaces using React and Redux with a structured data flow inspired by Elm.
  • Client-Side Frameworks - Provides a lightweight architecture for managing business logic, external data streams, and dynamic module loading in web apps.
  • React State Bindings - Connects the Redux-based state management container to React UI components via structured data flow.
  • SPA Routers - Implements a routing system that maps browser URLs to components and synchronizes navigation state with a global data store.
  • State Management Libraries - Provides a system for organizing application data through reducers, effects, and subscriptions to coordinate state transitions.
  • URL-Driven State Synchronization - Ensures the UI state is derived from and synchronized with the browser URL for deep linking and navigation.
  • Hot Module Replacement - Supports updating model logic in real-time while preserving current application state during development.
  • Dynamic Imports - Imports functional units and routing logic asynchronously to improve startup time and decrease memory usage.
  • State Action Interceptors - Provides a hook system to execute custom logic during state changes and action dispatches.
  • Dynamic Model Injection - Provides the ability to load data models and routing logic on demand to reduce the initial bundle size.
  • On-Demand Component Loading - Loads specific interface elements and data models on demand to reduce the initial download size.
  • JavaScript Libraries - Lightweight framework based on Redux and React.

Star history

Star history chart for dvajs/dvaStar history chart for dvajs/dva

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

Frequently asked questions

What does dvajs/dva do?

Dva is a state management library and client-side application framework designed for building user interfaces with React and Redux. It functions as an asynchronous logic orchestrator and a single page application router, organizing application data through a structured data flow of reducers, effects, and subscriptions.

What are the main features of dvajs/dva?

The main features of dvajs/dva are: Application State Management, Redux Implementations, Model Namespace Organizers, Asynchronous Generator Runners, Asynchronous Flow Coordination, State Store Namespacing, Component State Bindings, Generator-Based Coordination.

What are some open-source alternatives to dvajs/dva?

Open-source alternatives to dvajs/dva include: zerobias/effector — Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… effector/effector — Effector is a reactive state management library designed for building complex, event-driven applications. It functions… midudev/jscamp — jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI… pmndrs/valtio — Valtio is a proxy-based state management library and reactive state engine that provides a mutable state store. It… reflux/refluxjs — Refluxjs is a state management library designed to implement a unidirectional dataflow architecture. It manages…

Open-source alternatives to Dva

Similar open-source projects, ranked by how many features they share with Dva.
  • zerobias/effectorzerobias avatar

    zerobias/effector

    4,837View on GitHub↗

    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

    TypeScript
    View on GitHub↗4,837
  • day8/re-frameday8 avatar

    day8/re-frame

    5,532View on GitHub↗

    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

    Clojureclojurescriptre-framereact
    View on GitHub↗5,532
  • effector/effectoreffector avatar

    effector/effector

    4,837View on GitHub↗

    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

    TypeScriptbusiness-logiceffectorevent-driven
    View on GitHub↗4,837
  • midudev/jscampmidudev avatar

    midudev/jscamp

    3,811View on GitHub↗

    jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene

    JavaScriptbootcamp
    View on GitHub↗3,811
  • See all 30 alternatives to Dva→