Diffing da DOM virtual
A técnica (popularizada pelo React) em que a UI é descrita como uma árvore "virtual" leve de DOM na memória; a cada mudança, uma nova árvore é construída e comparada (diffada) com a antiga, de modo que só as diferenças reais são aplicadas na DOM real (cara). Também chamada de reconciliation.
Por quê: mexer na DOM real é caro, e manter manualmente o controle exato do que deve atualizar é sujeito a erros. A solução do React: renderizar de novo o componente numa nova árvore virtual a cada mudança, comparar com a anterior e calcular o conjunto mínimo de operações reais na DOM. As "chaves" (key) ajudam o algoritmo de diff a casar elementos em listas com eficiência. Contrapartida: o próprio diffing é trabalho — em árvores grandes ou atualizadas com frequência, pode virar um gargalo (o React Fiber introduziu fatiamento de tempo para não bloquear a thread principal). O contra-argumento moderno: signals e frameworks baseados em compilador (Svelte) pulam a DOM virtual por completo e atualizam exatamente o que mudou, diretamente → geralmente mais rápido. Diffing vs. signals é um debate central do front-end. Uma técnica definidora dos frameworks dos anos 2010. Relacionado a signals e hydration.