Everything about Virtual DOM
Lightweight representation of Document Object Model
A virtual DOM is a lightweight JavaScript representation of the Document Object Model (DOM) used in declarative web frameworks such as React, Vue.js, and Elm. Since generating a virtual DOM is relatively fast, any given framework is free to rerender the virtual DOM as many times as needed relatively cheaply. The framework can then find the differences between the previous virtual DOM and the current one (diffing), and only makes the necessary changes to the actual DOM (reconciliation). While technically slower than using just vanilla JavaScript, the pattern makes it much easier to write websites with a lot of dynamic content, since markup is directly coupled with state. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Virtual DOMA 5-minute orientation
- Skim a recent paper: Effectiveness of Using Virtual Reality–Supported Exercise Therapy for Upper Extremity Motor Rehabilitation in Patients With Stroke: Systematic Review and Meta-analysis of Randomized Controlled TrialsInfluential work since 2022
- Pick up a classic book: The web application hacker's handbookThe most-reprinted book on the subject
- Read the landmark paper: Thriller Physics ▪ Virtual Life ▪ Nerd-domCited 1 times
- Go sideways: SvelteA closely related topic
- Go sideways: React (software)A closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Thriller Physics ▪ Virtual Life ▪ Nerd-dom
ANALYZING VIRTUAL DOM PERFORMANCE IN FRONT-END FRAMEWORKS
Encrypted real-time communication web (WEBRTC) using the principle of virtual DOM rendering cycles
Virtual DOM vs Real DOM: Performance Benchmarks
Analysis of DOM update methods in modern web frameworks: Virtual DOM and Incremental DOM
THE EVOLUTION OF FRONTEND ARCHITECTURE: FROM VIRTUAL DOM TO SERVER COMPONENTS
🆕 Influential since 2022
Effectiveness of Using Virtual Reality–Supported Exercise Therapy for Upper Extremity Motor Rehabilitation in Patients With Stroke: Systematic Review and Meta-analysis of Randomized Controlled Trials
QUANTITATIVE STUDY ON VIRTUAL DOM DIFF PERFORMANCE WITH DIFFERENT KEY ATTRIBUTE USAGE: A CASE OF VUE.JS
📚 Books worth reading
The web application hacker's handbookDafydd Stuttard, Marcus Pinto · 2007
Even Faster Web SitesSteve Souders · 2009- 📕The Cologne cathdral CD-ROMVerlag Kölmer Dom, Deutscher Kunstverlag · 1998
- 📕Vyzov virtualizat︠s︡iiS. A. Stroev · 2005
Revista DiálogosJairo Nogueira Luna (org.) · 2011- 📕Strategic infrastructure development for economic growth and social changeNilanjan Ray · 2015
E-commerce:The Business of Internet in BusinessUgwu Charles A. · 2009
É BatataAdemir Rodrigues de Carvalho · 2019
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Svelte Svelte is a free and open-source component-based front-end software framework and language created by Rich Harris and maintained by the Svelte core team…
- React (software) React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript library that aims to make building user interfaces based on components…
- JavaScript library A JavaScript library is a library of pre-written JavaScript code that allows for easier development of JavaScript-based applications, especially for AJAX…
- Vue.js Vue.js (commonly referred to as Vue; pronounced "view") is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces…
- Single-page application A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data…
- Hydration (web development) In web development, hydration or rehydration is a technique in which client-side JavaScript converts a web page that is static from the perspective of…
- JSX (programming) JSX is an XML-like extension to the JavaScript language syntax. Initially created by Facebook for use with React, JSX has been adopted by multiple web…
- List of TypeScript software and tools This is a list of TypeScript software and tools, including transpilers, runtimes, web frameworks, compilers, integrated development environments, libraries…