Diffing del DOM virtual
La técnica (popularizada por React) en la que la UI se describe como un árbol DOM "virtual" ligero en memoria; ante un cambio se construye un árbol nuevo y se compara (diffing) con el anterior, de modo que solo las diferencias reales se aplican al DOM real (caro). También se llama reconciliación.
Por qué: tocar el DOM real es caro, y llevar la cuenta manual de exactamente qué actualizar es propenso a errores. La solución de React: volver a renderizar el componente a un nuevo árbol virtual en cada cambio, compararlo con el anterior y calcular el conjunto mínimo de operaciones reales sobre el DOM. Las "claves" (key) ayudan al algoritmo de diffing a emparejar elementos en listas de forma eficiente. La contrapartida: el propio diffing es trabajo — para árboles grandes o actualizados con frecuencia puede convertirse en un cuello de botella (React Fiber introdujo el time-slicing para no bloquear el hilo principal). El contraargumento moderno: los signals y los frameworks basados en compilador (Svelte) se saltan el DOM virtual por completo y actualizan directamente justo lo que cambió → a menudo más rápido. Diffing frente a signals es un debate central en el frontend. Una técnica definitoria de los frameworks de la década de 2010. Relacionada con signals e hydration.