30 open-source projects similar to matt-esch/virtual-dom, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Virtual Dom alternative.
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 project is a collection of practical code samples and demonstrations for building user interfaces with React. It serves as a set of examples illustrating common interface patterns, state management techniques, and the implementation of modular, reusable components. The repository provides specific demonstrations for several core development areas. These include samples for retrieving and rendering asynchronous data from external APIs, managing component lifecycles during mounting and unmounting, and handling internal state to sync form inputs. It also includes guides for direct document
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
This project is a technical study guide and architectural analysis of the Vue.js framework. It serves as an educational resource for understanding the implementation of a reactive framework, providing source code analysis and architectural visualizations to explain the internal workings of the Model-View-ViewModel pattern. The project focuses on the mechanics of reactive framework implementation, specifically how dependency tracking, getters, and setters are used to synchronize state with a user interface. It includes detailed examinations of the virtual DOM and the process of reconciling ele
This project is a web component tooling system used to compile TypeScript and JSX into standard-compliant custom elements. It enables the development of framework-agnostic components that function across different browsers and frontend environments. The toolset focuses on cross-framework UI distribution, allowing a single library of components to be used in React, Angular, Vue, or plain HTML. It includes capabilities for enterprise design system engineering and generates specific wrapper code to ensure components behave as native elements within various frameworks. The system covers server-s
Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a real-time synchronized preview pane. It functions as a rich text interface and WYSIWYG tool, providing a system for transforming markup strings into HTML documents or portable formats. The project distinguishes itself through high-performance rendering and a flexible extensibility model. It uses virtual DOM diffing and partial rendering to maintain responsiveness in large documents, and it allows for the creation of custom parsing rules and specialized HTML components via a p
Vugu is a Go WebAssembly UI library and framework used to build type-safe, component-based single-page applications. It functions as a single-file component framework that bundles markup, styles, and logic into modular units, utilizing a virtual DOM engine to synchronize state changes with the browser output. The project features a Go component generator that converts custom UI templates into executable Go source code at compile time. It distinguishes itself through a WebAssembly-based runtime that executes application logic as a compiled binary in the browser and a server-side rendering tool
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
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
Semantic UI React is a declarative component library that provides native React bindings for the Semantic UI design language. It enables the construction of complex user interfaces through a modular, component-based architecture that maps directly to established design patterns, allowing developers to build consistent web application layouts without manual HTML markup. The library distinguishes itself through a shorthand property system that automatically generates and populates nested child components from data objects, significantly reducing the need for verbose code. It also supports polym
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 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 project is a technical breakdown and implementation of a user interface framework's internal architecture, focusing specifically on the mechanics of the virtual DOM, reconciliation, and component lifecycles. It serves as a resource for understanding how a core logic layer manages the transition from high-level component descriptions to physical browser elements. The project distinguishes itself by providing detailed visualizations, including flowcharts and block schemes, to map the reconciliation process and code execution paths. It explores how a platform-agnostic core can be adapted fo
Eww is a declarative framework for creating custom graphical desktop widgets and status bars on Linux. It functions as a desktop widget toolkit that operates independently of the window manager, allowing users to define interface elements through a dedicated configuration language and style them using a cascading stylesheet system. The project utilizes a client-server daemon architecture to manage the lifecycle of these components, ensuring that state is maintained across the desktop environment. By leveraging a reactive state binding system, the interface updates automatically in response to
React Scan is a diagnostic utility and performance auditor designed to monitor the rendering lifecycle of components within user interfaces. It functions as an automated analysis tool that tracks component re-render cycles and execution timing to identify performance bottlenecks in real time. The tool distinguishes itself by providing visual feedback through a persistent overlay injected directly into the application. By instrumenting the reconciliation process and observing component state and props, it highlights specific rendering patterns that contribute to performance degradation. This
This repository serves as a comprehensive educational resource and study guide for front-end developers preparing for technical interviews. It provides a structured collection of questions, answers, and reference materials focused on the core concepts and architectural patterns of the React library. The content covers the fundamental principles of component-based user interface design, including lifecycle management, state synchronization, and data flow patterns. It details how to implement predictable state management through centralized stores and action dispatching, as well as how to utili
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Swift Cross UI is a cross-platform framework for building native user interfaces using a single declarative codebase. It leverages Swift-native language features, such as result builders and property wrappers, to provide a type-safe syntax for defining application layouts and state. The framework automatically reconciles the interface by tracking data changes and updating only the affected parts of the view tree. The project utilizes a platform-specific backend abstraction to map declarative code to native components across multiple operating systems, including macOS, Windows, Linux, iOS, and
Swiftfin is a native Jellyfin media client for iOS and tvOS. It is a SwiftUI mobile application designed for streaming and browsing movies, music, and shows from a Jellyfin server. The application utilizes native Apple frameworks for hardware-accelerated decoding and includes an AVKit media player. This integration enables system-level color management for HDR to SDR conversion and supports native Apple ecosystem features such as picture-in-picture and external display output. The client provides tools for browsing and managing home media libraries, routing audio wirelessly, and adjusting pl
This project is a multi-platform UI framework designed for building applications that target mobile, web, and desktop environments from a single codebase. It utilizes a declarative paradigm where the user interface is defined as a function of application state, supported by a layered architecture that includes a high-performance rendering engine and a multi-platform compilation model. The framework provides a comprehensive suite of developer tools, including hot reloading for real-time code injection and diagnostic utilities for monitoring application state and performance. It features a modu
Vue Native is a framework that compiles Vue.js single-file components into React Native primitives, enabling developers to build native iOS and Android applications using Vue syntax. At its core, it provides a build-time compiler that transforms Vue components into React components, while hooking Vue's dependency-tracking reactivity system into React's component lifecycle to trigger re-renders when observed data changes. The framework wraps React Native's native module bridge so Vue components can access device APIs through Vue's reactivity system, and maps Vue's component syntax to React Nat
This project is a community-driven directory of open-source Android libraries focused on user interface development. It serves as a centralized knowledge base that organizes high-quality third-party tools into a structured, categorical taxonomy to assist developers in discovering reliable solutions for mobile application design. The repository distinguishes itself by providing a version-agnostic index that links directly to external project resources, bypassing the need for complex dependency management. To facilitate rapid evaluation, each entry is paired with visual asset indexing, includin
Slint is a declarative user interface framework designed for building native graphical applications across desktop, mobile, and embedded platforms. It utilizes a specialized markup language to define reactive interface components, which are then compiled into optimized machine code to ensure high performance and minimal resource consumption. By separating visual structure from application logic, the framework enables developers to create consistent interfaces that run efficiently on hardware ranging from resource-constrained microcontrollers to high-end desktop systems. The framework distingu
This project is a cross-platform mobile framework that enables the development of native iOS and Android applications from a single codebase. It utilizes a declarative component-based model where developers define user interfaces using a syntax extension that maps directly to underlying platform-native view primitives. By decoupling application logic from the host platform's main thread, the framework maintains a consistent native view hierarchy while ensuring that JavaScript execution remains independent of UI rendering. The framework distinguishes itself through a robust bridge architecture
Compose Samples is a collection of reference implementations for the Jetpack Compose UI library, serving as a practical guide for building native Android user interfaces. It demonstrates the use of a declarative framework where Kotlin functions describe layout structures and data dependencies, enabling developers to construct modern, reactive interfaces. The repository highlights architectural patterns that prioritize maintainability and testability, such as layered organization and unidirectional data flow. It showcases how to implement adaptive layouts that automatically adjust to various s
swift-markdown-ui is a Swift rendering library that converts Markdown text into native user interface components. It functions as a declarative UI framework for transforming markdown syntax and structured content into native views, including tables, lists, and code blocks. The project features a type-safe domain-specific language that allows for the programmatic generation of rich text and structured documents instead of relying solely on raw strings. It also includes an environment-based theming system for applying global design themes and granular visual overrides across a view hierarchy.
Litho is an Android declarative UI framework and component library used to build user interfaces through a declarative API and immutable state. It functions as an asynchronous layout engine that maps components to a structured view hierarchy to automate view updates. The framework optimizes rendering performance by computing element positions on background threads to prevent blocking the main UI thread. It further improves efficiency by flattening nested view hierarchies and caching layout results. The system includes capabilities for state reconciliation, component recycling, and the render
This project is a concurrent UI library and virtual DOM framework. It functions as a state management system and component lifecycle manager designed to reconcile virtual representations of a user interface with the actual DOM. The library utilizes a fiber-based architecture to implement concurrent rendering, breaking interface updates into small chunks to maintain responsiveness. It distinguishes itself through UI update prioritization and the ability to handle asynchronous component loading with fallback interfaces. The system covers a broad surface of frontend architecture, including glob
This project is a technical study resource and interview preparation guide focused on the React library. It provides a comprehensive frontend interview question bank and concept references designed to help developers master core library primitives and prepare for professional job interviews. The resource covers detailed explanations of React's technical architecture, including state management patterns, performance optimization strategies, and component design. It serves as a knowledge assessment tool for developers to test their understanding of modern frontend engineering through a structur
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