Angular Signals: Reactividad y Propagación de Estado
Angular Signals: Reactividad y Propagación de Estado
El mayor desafío en el desarrollo frontend moderno no es mostrar datos en pantalla, sino qué hacer cuando esos datos cambian. Si un usuario agrega un producto al carrito, el contador debe actualizarse. Parece simple, pero la forma en que el framework propaga ese cambio define el rendimiento de toda tu aplicación.
Históricamente, Angular utilizaba un sistema de detección de cambios global basado en la librería Zone.js. Cuando ocurría un evento (un clic o una respuesta del servidor), el framework revisaba todo el árbol de componentes de arriba hacia abajo preguntando: "¿Cambió algo acá?". Este proceso, conocido como dirty checking, garantizaba que la vista estuviera sincronizada, pero consumía ciclos de procesamiento innecesarios escaneando partes de la web que no habían sufrido ninguna modificación.

El Grafo de Dependencias
Con la llegada de Signals, Angular introdujo un paradigma arquitectónico completamente nuevo: la reactividad de grano fino (fine-grained reactivity).
Un Signal es, en esencia, un contenedor reactivo que almacena un valor (el estado). Pero su verdadero poder radica en que sabe exactamente quién lo está utilizando. Cuando vinculás un Signal a un componente de la interfaz, Angular construye un grafo de dependencias invisible. El componente (consumidor) se suscribe directamente al dato (productor).
Propagación Quirúrgica
Cuando el valor del Signal cambia, ya no hay un escaneo global. En su lugar, ocurre una propagación directa. El Signal notifica exclusivamente a los componentes o funciones que dependen de él.
El cambio viaja por el grafo de dependencias y actualiza únicamente ese nodo específico en el DOM (el documento HTML). El resto de la aplicación permanece completamente inactiva, ahorrando memoria y batería en el dispositivo del usuario.
En MiWebIdeal construimos nuestras arquitecturas utilizando Angular v21 y Signals porque entendemos que el rendimiento no es un lujo, es una necesidad. Al dominar la propagación del estado, logramos que interfaces complejas reaccionen de forma instantánea, fluida y con una precisión milimétrica.


