Bajo el Capó: ¿Cómo funciona realmente un Framework Frontend?
Bajo el Capó: ¿Cómo funciona realmente un Framework Frontend?
Bienvenidos a CodeWithBotina. Todos sabemos usar useState o crear componentes, pero ¿alguna vez te has preguntado qué pasa realmente en el navegador cuando cambias una variable?
Manipular el DOM (Document Object Model) directamente es costoso en términos de rendimiento. Si intentaras actualizar 1,000 nodos manualmente cada vez que el usuario escribe una letra, tu aplicación se congelaría. Aquí es donde entra la magia de los frameworks modernos.
1. El concepto clave: El Virtual DOM (VDOM)
La mayoría de los frameworks no tocan el navegador a la primera. En su lugar, crean una copia ligera en memoria llamada Virtual DOM.
graph TD
A[Estado Cambia] --> B[Crear Nuevo Árbol Virtual]
B --> C[Comparar con Árbol Anterior - Diffing]
C --> D[Calcular Cambios Mínimos]
D --> E[Actualizar DOM Real - Reconciliation]
¿Cómo se ve esto en código?
Cuando escribes JSX en React, en realidad estás llamando a una función que crea un objeto plano:
// Lo que escribes
const elemento = Hola Botina;
// Lo que el framework entiende (Simplificado)
{
type: 'h1',
props: {
className: 'titulo',
children: 'Hola Botina'
}
}
2. El Ciclo de Reatividad (Reactivity)
El framework necesita saber cuándo algo cambió. Hay dos enfoques principales en 2026:
- Diffing (React): Compara dos árboles completos y busca las diferencias.
- Signals/Proxies (Vue/Svelte/Qwik): Envuelven tus variables en "observadores". Cuando la variable cambia, el framework sabe exactamente qué pequeño fragmento de la pantalla debe actualizarse sin comparar todo el árbol.
3. El Proceso de Renderizado
Aquí es donde ocurre la comunicación entre tu lógica y el motor del navegador:
sequenceDiagram
participant App as Tu Código
participant FW as Framework Engine
participant VDOM as Virtual DOM
participant DOM as Real DOM
App->>FW: setState({ counter: 1 })
FW->>VDOM: Generar nuevo nodo
VDOM->>VDOM: Algoritmo de Diferenciación (Diffing)
Note over VDOM: Identifica que solo el texto cambió
FW->>DOM: document.getElementById('count').innerText = 1
DOM-->>App: Pantalla Actualizada
4. ¿Por qué esto es importante para ti?
Entender esto te ayuda a evitar el "Over-rendering". Si sabes que el framework reconstruye el Virtual DOM, entenderás por qué no debes definir funciones pesadas dentro del cuerpo del componente o por qué las keys en las listas son obligatorias (ayudan al algoritmo de diffing a no perderse).
Fuentes para profundizar:
- React Docs (Preserving and Resetting State): Excelente explicación técnica. react.dev
- MDN Web Docs (Introduction to the DOM): Para entender la base física. developer.mozilla.org
- Página oficial de Mermaid.js: Para que aprendas a hacer tus propios diagramas como estos. mermaid.js.org
No solo escribas código, entiende cómo vive. Nos vemos en el próximo post de CodeWithBotina.
Cargando reacciones...
Comentarios (0)
Cargando sesión...
Aún no hay comentarios. Sé el primero en comentar.