Fala, comunidade dev! 👋

Se você acompanhou o artigo anterior sobre a introdução dos Signals no nosso projeto corporativo, deve ter notado que a reatividade do Angular ficou mais "esperta". Mas para entender o ganho absurdo de performance que tivemos pulando para o Angular 21, precisamos falar do elefante na sala: o zone.js.

1. O que era o zone.js e por que ele virou um problema?

Desde o Angular 2, o framework usava uma biblioteca chamada zone.js para saber quando atualizar a tela. O zone.js atua como um "espião". Ele intercepta absolutamente tudo o que acontece no navegador do usuário: cliques de botão, setTimeout, chamadas HTTP (fetch/XHR).

Sempre que um desses eventos terminava, o zone.js gritava para o Angular: "Ei! Algo aconteceu. Verifique a árvore de componentes inteira para ver se alguma variável mudou!".