
Explore what “zoneless” Angular means—how change detection works without Zone.js, what triggers updates instead, and the best practices (Signals, OnPush, async pipe) to get ready.
Alain Chautard
March 5, 2026
With the release of Angular 20, the buzz around zoneless Angular applications has increased quite a bit. That’s because Zoneless is no longer an experimental feature, as it has been promoted to developer preview, the final step before becoming stable.
So, what is Zoneless? I’ve explained before that Angular relies on a library called Zone.js to perform change detection. The idea is that any event in the browser (such as a click, a Promise that resolves, a timeout going off, etc.) is “watched” by Zone.js, which then tells Angular “something happened, check your components”. The framework then checks all components for changes and updates the DOM accordingly (see change detection illustrated here). That’s the default mode for Angular change detection.

With Zoneless, we remove Zone.js from the equation. The library can be uninstalled. This means that Angular needs to rely on other triggers to perform change detection, and there are a few of them available:
If you follow best practices on component architecture, use the async pipe everywhere (which, as a reminder, you can do), and start using Signals as much as possible, you are pretty much all set for Zoneless Angular.
Article was originally published on Medium.
Get the latest news and updates on developer certifications. Content is updated regularly, so please make sure to bookmark this page or sign up to get the latest content directly in your inbox.

How the Queue Worker Loop Actually Works
Master Laravel queues by understanding what happens behind the scenes when jobs are dispatched and processed. This guide explores queue workers, model serialization, retries, failed jobs, chaining, and batching—key concepts for building reliable applications and succeeding in Laravel certification exams.
Steve McDougall
Jun 25, 2026

Getting Started with rstore in Vue
A walkthrough of rstore, the reactive data store for Vue with normalized caching, typed queries, and a plugin system.
Reza Baar
Jun 24, 2026

Promise.withResolvers(): The Deferred Pattern Built-In
Promise.withResolvers() replaces the manual deferred pattern in JavaScript. One destructuring, no executor, no let. ES2024, supported in all modern runtimes.
Martin Ferret
Jun 23, 2026