awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Virtual DOM libraries

Clasificación actualizada el 21 jul 2026

For lightweight virtual doms, the strongest matches are developit/preact (Preact is a high-performance, minimal virtual DOM library that), trueadm/inferno (Inferno is a high-performance virtual DOM library designed specifically) and snabbdom/snabbdom (Snabbdom is a high-performance, modular virtual DOM library that). preactjs/preact and infernojs/inferno round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the best lightweight Virtual DOM libraries. We ranked top open-source projects by size and activity to help you compare and pick the right one.

Virtual DOM libraries

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • developit/preactAvatar de developit

    developit/preact

    38,704Ver en GitHub↗

    Preact is a declarative UI library and a lightweight alternative to React for building user interfaces. It utilizes a component-based architecture and a virtual DOM to sync application state to the browser interface efficiently. The framework implements a modern React API and provides a compatibility layer to ensure existing component libraries and patterns can run within its environment. It also functions as a server-side rendering engine, generating HTML on the server and hydrating it on the client to optimize page load speeds. Additional capabilities include virtual DOM state management t

    Preact is a high-performance, minimal virtual DOM library that provides a complete component-based architecture, JSX support, and efficient reconciliation, making it a flagship implementation of the requested category.

    JavaScriptLightweight UI FrameworksVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗38,704
  • trueadm/infernoAvatar de trueadm

    trueadm/inferno

    16,420Ver en GitHub↗

    Inferno is an isomorphic JavaScript framework and virtual DOM UI library used for building user interfaces. It functions as a server-side rendering engine that converts virtual nodes into HTML strings for the server and hydrates them on the client to optimize initial load speeds and search engine indexing. The framework features a synthetic event system that provides a normalized interface for handling browser interactions consistently across different web environments. It employs a reactive UI model to synchronize state-driven updates and reactive streams with the browser document object mod

    Inferno is a high-performance virtual DOM library designed specifically for speed and minimal overhead, offering a complete suite of features including reconciliation, component lifecycles, and JSX support.

    JavaScriptComponent Lifecycle HooksVirtual DOM DiffingVirtual DOM Diffing
    Ver en GitHub↗16,420
  • snabbdom/snabbdomAvatar de snabbdom

    snabbdom/snabbdom

    12,378Ver en GitHub↗

    Snabbdom is a virtual DOM library and DOM diffing engine used to create and update user interfaces by synchronizing a virtual tree with the browser. It functions as a modular UI framework that provides a system for generating virtual nodes and transforming them into actual browser elements. The project features a modular architecture that separates core rendering logic from optional components. It includes a dedicated SVG rendering engine for managing scalable vector graphics within a virtualized document object model. The library covers a broad range of capabilities, including lifecycle hoo

    Snabbdom is a high-performance, modular virtual DOM library that provides the core reconciliation, lifecycle hooks, and event handling required for building efficient user interfaces.

    TypeScriptVirtual DOM DiffingVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗12,378
  • preactjs/preactAvatar de preactjs

    preactjs/preact

    38,701Ver en GitHub↗

    Preact is a lightweight declarative user interface library designed for building high-performance web applications. It utilizes a component-based architecture where interfaces are defined as functional or class-based units, relying on a virtual DOM to perform efficient state reconciliation and updates. By prioritizing a minimal footprint, the library enables developers to create modular, predictable, and testable user interfaces while maintaining compatibility with standard browser APIs. The library distinguishes itself through a reactive state engine that leverages signals to track dependenc

    Preact is a high-performance, minimal virtual DOM library that provides a complete component-based architecture, JSX support, and efficient reconciliation, making it a flagship example for this category.

    JavaScriptLightweight UI FrameworksVirtual DOM ReconciliationVirtual DOM Reconciliation
    Ver en GitHub↗38,701
  • infernojs/infernoAvatar de infernojs

    infernojs/inferno

    16,420Ver en GitHub↗

    Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user interfaces. It functions as a server-side rendering engine and a client-side framework that synchronizes application state with the visual interface through a declarative structure. The project distinguishes itself as a React-compatible UI framework, providing a compatibility layer that allows components designed for other reactive environments to run without modification. Its capability surface covers virtual DOM management, including node diffing and reconciliation, and a full serve

    Inferno is a high-performance virtual DOM library that provides a minimal footprint, efficient reconciliation, and full support for component lifecycles, JSX, and event delegation.

    JavaScriptComponent Lifecycle HooksVirtual DOM Reconciliation
    Ver en GitHub↗16,420
  • hcysunyang/vue-designAvatar de HcySunYang

    HcySunYang/vue-design

    5,964Ver en GitHub↗

    This project is a Virtual DOM renderer, an engine that transforms virtual node trees into real DOM elements and updates them efficiently when the tree changes. Its core identity is focused on the rendering and reconciliation of virtual nodes, providing the foundational mechanism for building user interfaces. The renderer implements a patch-based DOM update system that applies targeted operations based on computed differences between virtual node trees. It supports fragment rendering for components with multiple root children, uses keyed child reconciliation to reuse and reorder elements durin

    This library provides a focused implementation of a virtual DOM engine, including essential reconciliation, lifecycle hooks, and event delegation, making it a suitable foundation for building user interfaces.

    JavaScriptEvent DelegationVirtual DOM Reconciliation
    Ver en GitHub↗5,964
  • matt-esch/virtual-domAvatar de Matt-Esch

    Matt-Esch/virtual-dom

    12,056Ver en GitHub↗

    Virtual-dom is a rendering engine and library designed for building declarative user interfaces. It functions by maintaining a lightweight tree representation of the document structure, which serves as a blueprint for synchronizing the application state with the browser display. The library performs virtual DOM reconciliation by comparing two tree structures to calculate the minimal set of modifications required to update the interface. Once these differences are identified, it applies patches directly to the live document object model to ensure the screen reflects the latest state with minim

    This library provides a core virtual DOM implementation with a focus on efficient tree reconciliation and patching, serving as a foundational tool for building declarative user interfaces.

    JavaScriptVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗12,056
  • jorgebucaran/hyperappAvatar de jorgebucaran

    jorgebucaran/hyperapp

    19,211Ver en GitHub↗

    Hyperapp is a functional JavaScript framework for building hypertext applications. It centers on a state management library and a virtual DOM system that creates in-memory interface representations to apply efficient updates to the browser screen via diffing. The framework avoids templates and JSX, instead utilizing function composition and dedicated tag wrappers to generate HTML structures and SVG elements. It implements a unidirectional data flow where a central state object is managed through transformation functions. The system covers declarative UI rendering and functional web interfaci

    Hyperapp is a lightweight, functional framework that includes a built-in virtual DOM and reconciliation engine for efficient UI updates, though it opts for function composition over JSX support.

    JavaScriptLightweight UI FrameworksVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗19,211
  • hyperapp/hyperappAvatar de hyperapp

    hyperapp/hyperapp

    19,211Ver en GitHub↗

    Hyperapp is a lightweight JavaScript framework for building web applications. It functions as a declarative state management system that synchronizes the user interface with a centralized application state. The framework utilizes a virtual DOM to render user interfaces and reconcile changes to the browser display. It employs a subscription model to synchronize external web APIs and asynchronous events with the global state. The system manages data through a single-state-tree architecture, where updates are handled via discrete actions and pure functions. This approach ensures that the view u

    Hyperapp is a lightweight framework that uses a virtual DOM and reconciliation to manage UI updates, making it a suitable choice for developers seeking a minimal, performance-oriented approach to building interfaces.

    JavaScriptLightweight UI FrameworksVirtual DOM Reconciliation
    Ver en GitHub↗19,211
  • hexacta/didactAvatar de hexacta

    hexacta/didact

    6,752Ver en GitHub↗

    Didact is a virtual DOM UI framework and a technical implementation guide for building component-based libraries from scratch. It functions as a concurrent rendering engine that divides interface updates into small units of work to maintain main-thread responsiveness. The project features a fiber-based renderer and a hook-based state manager that utilizes linked-list storage to preserve data across render cycles. It employs a double-buffered render tree to calculate updates before committing them to the user interface. The framework covers recursive DOM mounting to transform virtual elements

    Didact is a minimal, educational virtual DOM library that implements a fiber-based reconciliation algorithm and hook-based state management, making it a direct fit for building component-based UIs.

    JavaScriptVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗6,752
  • mithriljs/mithril.jsAvatar de MithrilJS

    MithrilJS/mithril.js

    14,494Ver en GitHub↗

    Mithril.js is a JavaScript UI framework designed for building single page applications. It functions as a virtual DOM library and a toolkit for creating dynamic user interfaces that synchronize application state with the browser display. The project integrates a client side router for mapping URLs to specific views and a built-in XHR data fetcher for sending and receiving information from servers. These components allow for navigation and content updates without requiring full page reloads. The framework covers user interface state management and asynchronous data fetching, utilizing virtual

    Mithril.js is a lightweight, high-performance framework that includes a built-in virtual DOM engine with reconciliation, component lifecycles, and JSX support, making it a strong choice for developers seeking a minimal UI library.

    JavaScriptVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗14,494
  • nervjs/nervAvatar de NervJS

    NervJS/nerv

    5,412Ver en GitHub↗

    Nerv is an isomorphic JavaScript framework and virtual DOM library used for component-based user interface development. It functions as a React-compatible library that maintains compatibility with the React 16 API. The framework is specifically designed as a legacy browser UI framework, providing the internal logic necessary to maintain consistent behavior in older environments, including Internet Explorer 8. Its capabilities cover isomorphic web rendering through server-side HTML generation and client-side hydration. The library also includes frontend error handling to intercept component c

    Nerv is a virtual DOM library that provides a React-compatible API, component lifecycle hooks, and reconciliation, making it a suitable choice for building user interfaces with a focus on legacy browser support.

    JavaScriptComponent Lifecycle HooksVirtual DOM Reconciliation
    Ver en GitHub↗5,412
  • pomber/didactAvatar de pomber

    pomber/didact

    6,752Ver en GitHub↗

    Didact is a virtual DOM UI framework and functional component library. It utilizes a concurrent rendering engine and a fiber-based reconciliation library to synchronize a visual interface with data changes. The framework implements a concurrent rendering engine that breaks rendering work into resumable chunks. This prevents long-running tasks from blocking the main browser thread by dividing interface updates into small units of work. The system covers virtual DOM implementation and fiber architecture, using a linked-list fiber tree to track element relationships. It manages function compone

    Didact is a minimal, educational virtual DOM library that implements fiber-based reconciliation and JSX support, making it a direct fit for building lightweight UI components.

    JavaScriptVirtual DOM DiffingTree Reconciliation Algorithms
    Ver en GitHub↗6,752
  • lhorie/mithril.jsAvatar de lhorie

    lhorie/mithril.js

    14,490Ver en GitHub↗

    Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly. The toolkit includes a built-in client side router that maps browser URL paths to specific components without reloading the page. It also features an integrated HTTP request client for performing asynchronous network calls to remote APIs for data retrieval and transmission. The framework covers broad capabilities for frontend development, incl

    Mithril.js is a lightweight, high-performance framework that includes a built-in virtual DOM engine with reconciliation and JSX support, making it a capable choice for building reactive user interfaces.

    JavaScriptVirtual DOM ReconciliationVirtual DOM Reconciliation
    Ver en GitHub↗14,490
  • kbrsh/moonAvatar de kbrsh

    kbrsh/moon

    5,951Ver en GitHub↗

    Moon is a minimal reactive UI library for building user interfaces with a component composition framework, client-side routing, server-side rendering, and signals-based reactivity. It provides a virtual DOM diffing engine that computes minimal real DOM mutations, enabling efficient view updates by comparing in-memory UI representations against previous versions. The library distinguishes itself through a signals-based reactivity system that tracks data dependencies through observable signals, triggering targeted DOM updates only when values change. It implements a state driver pattern for uni

    Moon is a lightweight UI library that features a built-in virtual DOM diffing engine and supports component-based architecture, making it a suitable choice for developers seeking a minimal reactive framework.

    JavaScriptVirtual DOM Diffing
    Ver en GitHub↗5,951
  • ractivejs/ractiveAvatar de ractivejs

    ractivejs/ractive

    5,920Ver en GitHub↗

    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

    Ractive is a reactive UI framework that utilizes a virtual DOM engine to synchronize data and views, providing a component-based system that supports event delegation and declarative data binding.

    JavaScriptEvent Delegation SystemsVirtual DOM Diffing
    Ver en GitHub↗5,920
  • cuixiaorui/mini-vueAvatar de cuixiaorui

    cuixiaorui/mini-vue

    10,566Ver en GitHub↗

    This project is a minimal reproduction of the Vue 3 core logic, designed for studying the framework's internal source code. It implements a reactive state engine, a template compiler, a virtual DOM renderer, and a component lifecycle manager. The implementation uses proxies and effect schedulers to track data dependencies and trigger automatic interface updates. It features a template compiler that parses interpolation and text nodes to convert template syntax into renderable structures, alongside a virtual DOM system that transforms component definitions into a tree of elements. The system

    This project provides a functional, minimal implementation of a virtual DOM renderer and component lifecycle manager, making it a suitable choice for developers seeking a lightweight, educational-focused library for UI construction.

    TypeScriptVirtual DOM Reconciliation
    Ver en GitHub↗10,566
  • vuejs/vueAvatar de vuejs

    vuejs/vue

    209,900Ver en GitHub↗

    Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption

    Vue is a comprehensive, component-based framework that utilizes a virtual DOM for its reactivity system, though it is a full-featured framework rather than a minimal, standalone virtual DOM library.

    TypeScriptComponent Lifecycle HooksComponent Lifecycle HooksJSX Syntax Support
    Ver en GitHub↗209,900
  • vuejs/coreAvatar de vuejs

    vuejs/core

    53,861Ver en GitHub↗

    Vue is a progressive JavaScript framework designed for building modular, reactive user interfaces. It utilizes a component-based architecture that allows developers to encapsulate logic, templates, and styles into reusable units. At its core, the framework employs a virtual DOM renderer and a proxy-based reactivity system to synchronize application state with the document object model efficiently. What distinguishes this framework is its focus on developer experience and flexibility. It supports a single-file component format that colocalizes related concerns, alongside a powerful composition

    Vue is a comprehensive framework that utilizes a virtual DOM for its rendering engine, providing the core reconciliation and component lifecycle features requested, though it is a full-featured framework rather than a minimal, standalone library.

    TypeScriptComponent Lifecycle HooksVirtual DOM Reconciliation
    Ver en GitHub↗53,861
  • facebook/reactAvatar de facebook

    facebook/react

    245,669Ver en GitHub↗

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

    React is the industry-standard library for building component-driven user interfaces using a virtual DOM, though its large ecosystem and feature set make it less "minimal" than specialized lightweight alternatives.

    JavaScriptComponent Lifecycle HooksVirtual DOM Reconciliation
    Ver en GitHub↗245,669
  • aidenybai/millionAvatar de aidenybai

    aidenybai/million

    17,636Ver en GitHub↗

    Million is a framework-level enhancement designed to optimize the performance of user interfaces by reducing overhead in component reconciliation. It functions as a build-time compiler that transforms components into lightweight, efficient code to accelerate rendering and minimize the runtime work required for interface updates. The project distinguishes itself by replacing standard reconciliation logic with a specialized virtual DOM implementation. Through static analysis and a build-step utility, it identifies and optimizes component trees, allowing for granular updates that target only mod

    Million is a specialized virtual DOM implementation that focuses on high-performance reconciliation through a build-time compiler, making it a highly efficient tool for optimizing UI rendering.

    TypeScriptPerformance OptimizersVirtual DOM ImplementationsBlock-Based Patching
    Ver en GitHub↗17,636
  • redom/redomAvatar de redom

    redom/redom

    3,435Ver en GitHub↗

    Develop web applications with 100% JavaScript and web standards. 🚀

    RE:DOM is a minimal, high-performance UI library that uses a lightweight approach to DOM manipulation and component lifecycle management, serving as a direct alternative to traditional virtual DOM implementations.

    JavaScriptUI Frameworks
    Ver en GitHub↗3,435
  • livoras/simple-virtual-domAvatar de livoras

    livoras/simple-virtual-dom

    1,721Ver en GitHub↗

    Simple Virtual DOM is a lightweight library designed for modeling user interface hierarchies as declarative, nested object structures. It functions as a rendering engine and reconciliation framework, allowing developers to define interface states as virtual trees that exist independently of the live browser document. The library provides core logic for synchronizing these virtual structures with the actual document object model. By comparing two tree states, it calculates the minimal set of additions, removals, or attribute modifications required to update the interface. This approach minimiz

    This library provides a foundational implementation of a virtual DOM reconciliation algorithm, making it a suitable choice for developers seeking a minimal, lightweight core for building user interfaces.

    JavaScriptVirtual DOM DiffingVirtual DOM Reconciliation
    Ver en GitHub↗1,721
  • trueadm/t7Avatar de trueadm

    trueadm/t7

    897Ver en GitHub↗

    T7 is a lightweight JavaScript framework designed for building modular, component-based user interfaces. It functions as a template-driven rendering engine that transforms standard tagged template literals into structured virtual DOM objects, allowing developers to define reusable interface elements without requiring complex build configurations or transpilation steps. The framework distinguishes itself through its runtime template processing and environment-aware output mapping. By intercepting template strings, it enables dynamic property injection and conditional control flow directly with

    This is a lightweight virtual DOM library that provides a reconciliation engine and templating, making it a suitable choice for building interfaces where minimal bundle size is the priority.

    JavaScriptJavaScript UI FrameworksBuild-less Template EnginesTagged Template Literals
    Ver en GitHub↗897
  • google/incremental-domAvatar de google

    google/incremental-dom

    3,544Ver en GitHub↗

    Incremental DOM is a rendering engine designed to update existing browser document nodes in place. By transforming declarative templates into low-level imperative instructions, the library synchronizes browser content with application data without requiring full tree re-renders. The library distinguishes itself by focusing on memory efficiency and reduced garbage collection. Rather than relying on a virtual representation of the document, it performs targeted updates directly on the live document object model. This approach allows for the creation of modular, stateful interface elements that

    This library provides a high-performance, memory-efficient alternative to traditional virtual DOM implementations by performing targeted, in-place updates directly on the live DOM.

    TypeScriptReactive Frontend FrameworksDOM MutatorsDOM Patching Engines
    Ver en GitHub↗3,544
Compara los 10 mejores de un vistazo
RepositorioEstrellasLenguajeLicenciaÚltimo push
developit/preact38.7KJavaScriptMIT15 jun 2026
trueadm/inferno16.4KJavaScriptMIT12 jun 2026
snabbdom/snabbdom12.4KTypeScriptMIT17 jun 2026
preactjs/preact38.7KJavaScriptMIT15 jun 2026
infernojs/inferno16.4KJavaScriptMIT12 jun 2026
hcysunyang/vue-design6KJavaScript—3 dic 2022
matt-esch/virtual-dom12.1KJavaScriptmit24 ene 2023
jorgebucaran/hyperapp19.2KJavaScriptMIT20 mar 2025
hyperapp/hyperapp19.2KJavaScriptMIT20 mar 2025
hexacta/didact6.8KJavaScript—31 ene 2026

Related searches

  • UI component library
  • primitivas de componentes UI headless para React
  • Virtual display driver
  • Immutable data structures
  • sistema de compilación minimalista para proyectos de software
  • Classless CSS framework
  • UI framework bindings
  • Low-level abstraction patterns