awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
vanjs-org avatar

vanjs-org/van

0
View on GitHub↗
4,390 stars·107 forks·JavaScript·MIT·2 viewsvanjs.org↗

Van

Van is a reactive JavaScript UI framework designed for building user interfaces with state binding and automatic DOM updates without a virtual DOM. It functions as a buildless frontend framework, allowing the creation of reactive applications using standard JavaScript functions that run directly in the browser without a compilation step.

The framework includes a reactive state manager that uses proxy-based objects to track dependencies and trigger targeted UI updates. It provides a server-side rendering tool for generating static HTML and a corresponding client-side hydration process to attach interactivity. For multi-view applications, it includes a client-side router to manage navigation and state transitions.

The project covers a broad range of capabilities including declarative DOM composition, state-to-property binding, and reactive list rendering. It supports advanced state management through derived state objects, batched updates, and state serialization. Additionally, the framework supports the generation of SVG and MathML elements.

The development environment supports static type checking and autocomplete via TypeScript integration.

Features

  • Reactive UI Frameworks - A framework for building interactive user interfaces that automatically synchronize with state changes.
  • Declarative UI Composition - Offers a framework for building reactive user interfaces using declarative functional composition and direct DOM updates.
  • UI Component Composition - Uses standard JavaScript functions to declaratively compose the user interface without a compilation step.
  • Reactivity Dependency Graphs - Tracks dependencies between state and UI elements to ensure only the necessary nodes are updated.
  • Single Page Applications - Provides a framework for building multi-view applications with client-side navigation and dynamic content updates.
  • Data-to-UI Bindings - Synchronizes JavaScript object properties with visual element content in real-time.
  • State-to-UI Mapping - Synchronizes reactive state objects with UI properties to automatically update element attributes.
  • Reactive State Systems - Implements granular dependency tracking to trigger targeted UI updates when state values change.
  • Proxy-Based Reactivity - Utilizes JavaScript proxies to intercept property mutations and trigger automatic UI updates.
  • User Event Handlers - Allows assigning handler functions to element properties to respond to user interactions like clicks and inputs.
  • Direct DOM Mapping - Bypasses the virtual DOM to update real DOM nodes directly when state changes.
  • Buildless DOM Composition - Enables building user interfaces and layouts directly in the browser without a compilation or bundling step.
  • Buildless - Enables building reactive user interfaces directly in the browser without any compilation or build step.
  • Client-Side Routers - Includes a client-side router to manage navigation and view state transitions without reloading the page.
  • Element Creations - Provides tag functions for programmatically generating HTML elements with properties and children.
  • Property Bindings - Synchronizes application state with DOM element properties dynamically.
  • UI State Synchronization - Ensures DOM elements automatically synchronize and update whenever the underlying reactive state changes.
  • Buildless Frameworks - Offers a reactive development environment that runs directly in the browser without a compilation step.
  • Reactive State Managers - Provides a proxy-based state manager to synchronize application data across UI elements automatically.
  • Client-Side Hydration - Enables attaching reactive state bindings to pre-rendered static HTML for immediate interactivity.
  • Partial DOM Updates - Optimizes performance by mutating existing DOM elements during state updates instead of regenerating subtrees.
  • Isomorphic Component Definitions - Provides abstract object definitions that allow components to run identical code in both server and client environments.
  • List Rendering - Implements reactive list rendering that updates only modified items in the DOM.
  • Server-Side Rendering with Hydration - Implements a full workflow for generating initial HTML on the server and hydrating it on the client.
  • Server-Side Renderers - Generates static HTML strings on the server to optimize initial page load and SEO.

Star history

Star history chart for vanjs-org/vanStar history chart for vanjs-org/van

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 vanjs-org/van do?

Van is a reactive JavaScript UI framework designed for building user interfaces with state binding and automatic DOM updates without a virtual DOM. It functions as a buildless frontend framework, allowing the creation of reactive applications using standard JavaScript functions that run directly in the browser without a compilation step.

What are the main features of vanjs-org/van?

The main features of vanjs-org/van are: Reactive UI Frameworks, Declarative UI Composition, UI Component Composition, Reactivity Dependency Graphs, Single Page Applications, Data-to-UI Bindings, State-to-UI Mapping, Reactive State Systems.

What are some open-source alternatives to vanjs-org/van?

Open-source alternatives to vanjs-org/van include: effector/effector — Effector is a reactive state management library designed for building complex, event-driven applications. It functions… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… preactjs/signals — Signals is a reactive state management library and fine-grained reactivity engine. It functions as a… zerobias/effector — Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven… lhorie/mithril.js — Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and…

Open-source alternatives to Van

Similar open-source projects, ranked by how many features they share with Van.
  • 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
  • facebook/reactfacebook avatar

    facebook/react

    245,669View on GitHub↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    View on GitHub↗245,669
  • 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
  • preactjs/signalspreactjs avatar

    preactjs/signals

    4,452View on GitHub↗

    Signals is a reactive state management library and fine-grained reactivity engine. It functions as a dependency-tracking state manager that maps relationships between values to ensure derived data and user interface elements remain synchronized. The library distinguishes itself through direct-to-node DOM binding, which allows state to update specific text nodes in the browser without triggering a full component render cycle. It employs a runtime dependency graph and atomic batching to group multiple state modifications into single notification cycles, reducing redundant executions. The syste

    TypeScript
    View on GitHub↗4,452
  • See all 30 alternatives to Van→