Virtual DOM

Ein virtual DOM („virtuelles Dokumenten-Objekt-Modell“) ist in Webanwendungs-Frameworks eine leichtgewichtige JavaScript-Darstellung des Document Object Model (DOM), die in deklarativen Web-Frameworks wie React, Vue.js, und Elm verwendet wird.[1] Die Aktualisierung des virtuellen DOM ist vergleichsweise schneller als die Aktualisierung des tatsächlichen DOM via JavaScript. Daher kann das Framework unnötige Änderungen am virtuellen DOM relativ kostengünstig vornehmen. Das Framework findet dann die Unterschiede zwischen dem vorherigen virtuellen DOM und dem aktuellen und nimmt nur die notwendigen Änderungen am tatsächlichen DOM vor.[2][3]

Svelte verfügt nicht über ein virtuelles DOM, da sein Entwickler Rich Harris das virtuelle DOM als „reinen Overhead“ bezeichnet.[4]

Ähnliche Techniken sind Glimmer in Ember.js[5] und das inkrementelle DOM in Angular[6].

Einzelnachweise

 

  1. Beginning Elm. In: Elm Programming. Abgerufen am 11. Dezember 2020.Vorlage:Cite web/temporär
  2. Virtual DOM and Internals – React. In: reactjs.org. Abgerufen am 11. Dezember 2020 (englisch).
  3. React: The Virtual DOM. In: Codecademy. Abgerufen am 11. Dezember 2020 (englisch).
  4. Rich Harris Thu Dec 27 2018: Virtual DOM is pure overhead. In: svelte.dev. Abgerufen am 11. Dezember 2020 (englisch).
  5. React Virtual DOM vs Incremental DOM vs Ember's Glimmer: Fight. In: Auth0 - Blog. Abgerufen am 11. Dezember 2020 (englisch).
  6. google/incremental-dom auf GitHub