27 مستودعات
Algorithms for calculating minimal updates between memory-based tree snapshots and the actual document object model.
Distinguishing note: No existing candidates; minting under Web Development to capture DOM diffing logic.
Explore 27 awesome GitHub repositories matching web development · Virtual DOM Diffing. Refine with filters or upvote what's useful.
React هي مكتبة JavaScript لبناء واجهات المستخدم تعتمد على معمارية قائمة على المكونات وتدفق بيانات أحادي الاتجاه.
Preserves interface state like scroll position by capturing DOM information before updates occur.
This project is a comprehensive educational knowledge base designed to support developers in mastering React and its surrounding ecosystem. It serves as a technical interview resource, providing a structured collection of questions and answers that cover core concepts, architectural patterns, and common development challenges. The repository distinguishes itself by offering detailed explanations of fundamental React principles, including component-based composition, the declarative UI paradigm, and state-driven data flow. It provides clarity on complex topics such as the Fiber reconciliation
Calculates the minimum set of operations required to update the real browser DOM by comparing tree snapshots in memory.
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
Syncs application state to the browser interface by calculating minimal differences between virtual data structures.
Lexical is a modular rich text editor framework used to build extensible web-based editors. It functions as a state-driven content editor that maintains a serializable, immutable snapshot of document content to ensure predictable updates and accessibility compliance. The framework is distinguished by its plugin-based architecture and customizable node framework, which allow developers to extend editor behavior through specialized content nodes and encapsulated runtime logic. It also includes a collaborative editing engine capable of synchronizing document state across multiple clients in real
Updates the browser DOM by diffing the internal state against the pending state to minimize mutations.
Livewire is a full-stack framework for PHP that enables the development of reactive, dynamic user interfaces using server-side classes and templates. By bridging the gap between server-side logic and client-side DOM updates, it allows developers to build interactive web applications without writing custom JavaScript. The framework operates as a component-based library, where modular units encapsulate interface logic, state, and event handling directly on the server. The framework distinguishes itself through a reactive architecture that automatically synchronizes state between the browser and
Instructs the rendering engine to skip specific elements during updates to preserve the state of third-party JavaScript components.
rrweb is a DOM session recording library and serialization framework used to record and replay web sessions. It converts the state of a web page into a serializable JSON data structure and tracks mutations to reconstruct user interactions within a replay engine. The system distinguishes itself by using a sandboxed iframe for reconstruction to isolate replayed content, preventing script execution and form submissions. It ensures visual consistency through CSS inline-style flattening and provides sensitive data masking to prevent private information from being captured. The project covers a br
Traverses the DOM to create a serializable data structure that preserves styles and input values for the recording baseline.
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
Implements algorithms for calculating minimal updates between memory-based tree snapshots and the DOM.
A framework for building Mobile cross-platform UI
Computes minimal UI changes by comparing virtual DOM trees before applying native view updates.
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
Uses a virtual DOM diffing algorithm to minimize browser mutations when updating the user interface.
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
Implements algorithms to calculate minimal updates between virtual tree snapshots and the actual browser DOM.
Stencil is a compiler used for authoring web component libraries and developing framework-agnostic user interface elements. It transforms TypeScript and JSX source code into standard custom elements that operate natively in the browser. The project enables the implementation of design systems and enterprise component systems by sharing a single codebase across different JavaScript frameworks. It generates specific adapter layers that allow these custom elements to be used as native components in React, Angular, and Vue. The toolset incorporates ahead-of-time compilation to minimize bundle si
Tracks changes to a light representation of the UI to update only the necessary parts of the actual browser DOM.
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
Calculates the minimal set of changes needed to update the physical interface based on state shifts.
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
A library for calculating and applying minimal updates to the browser document object model by comparing lightweight tree structures.
Hippy is a cross-platform mobile framework that enables building applications for iOS, Android, and Web from a single codebase using web development technologies. It functions as a dynamic app framework, supporting runtime code updates and dynamic content delivery across platforms, and connects JavaScript application logic with native platform APIs through a JavaScript bridge. The framework distinguishes itself through its bridge-based native rendering approach, which serializes UI updates over a JSON message bus to a native host that maintains the real view hierarchy. It employs a component-
Computes minimal UI updates by comparing a lightweight in-memory representation against its previous state.
Reactpy is a Python web component framework and server-side UI library used to build interactive web interfaces. It allows for the creation of structured web layouts and visual logic within Python, removing the requirement to write client-side JavaScript. The framework utilizes a component-based model with reactive state management, where the user interface automatically updates in response to changes in the underlying Python state. It employs a virtual-DOM diffing process and WebSocket-based syncing to push real-time updates from the server to the browser. The system functions as an integra
Uses a virtual-DOM diffing algorithm to calculate the minimal set of updates required for the browser.
vanilla-lazyload is a JavaScript lazy loading library and viewport-based asset loader designed to improve page load speed by deferring the loading of images, videos, iframes, and backgrounds. It functions as an intersection observer media loader that triggers resource downloads and script execution only when elements enter the browser viewport. The project also serves as a native lazy loading polyfill, utilizing native browser loading attributes where supported and providing a JavaScript fallback for older environments. The library distinguishes itself through active bandwidth management, suc
Captures original element attributes in memory to allow reverting the DOM to its initial state.
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
Implements algorithms for calculating minimal updates between virtual tree snapshots and the real DOM.
Choo هو إطار عمل أمامي وظيفي لبناء تطبيقات الويب. يتكون من مجموعة من الأدوات بما في ذلك موجه (router) من جانب العميل، ومحرك لمقارنة DOM، ومكتبة JavaScript متماثلة (isomorphic). يستخدم المشروع بنية قائمة على الأحداث لفصل منطق العمل عن العرض، وتنسيق تحديثات الحالة وتحديثات العرض من خلال باعث أحداث مركزي. يوظف العرض المتماثل لإنشاء مخرجات HTML باستخدام مسار منطقي واحد لكل من سلاسل جانب الخادم ومعالجة DOM من جانب العميل. يدير إطار العمل كائن حالة مشترك يقوم بمزامنة البيانات عبر المعالجات وطرق العرض. يتم معالجة الأداء من خلال محرك مقارنة DOM الذي يستخدم التخزين المؤقت للمكونات القائم على المعرف والتوفيق اليدوي لتقليل الطفرات المكلفة. يقوم الموجه بتعيين مسارات URL إلى دوال المعالجة واستخراج المعلمات المسماة مباشرة إلى حالة التطبيق المشتركة.
Ships a DOM diffing engine that calculates minimal updates to synchronize state with the browser DOM.
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
Uses virtual DOM diffing algorithms to calculate minimal changes between two virtual trees and synchronize the DOM.
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
Calculates the minimum number of visual changes needed to keep the browser display consistent with internal state.