Signals and what they change about Angular applications
For most of Angular's history, change detection ran through Zone.js, which patched browser APIs to know when something might have changed and then re-checked the whole component tree. It worked, and it also meant large applications had to actively manage change detection strategy to stay fast.
Signals give Angular a more direct reactivity model: a signal tracks its own dependents, and only the parts of the UI that actually depend on a changed value re-render. We now default new Angular projects to a signals-first architecture for state that lives in components and services, keeping RxJS for what it is still better suited to: composing streams of asynchronous events like HTTP requests, WebSocket messages or user input debouncing.










