No Zone, No Problem - Building Angular Apps without Zone.js
summary
Angular claims zoneless is stable since 20.2 and becomes the default in Angular 21, shaving about 33 KB from bundles and removing automatic global change detection. The demo migrates an Angular app: remove zonejs, swap to zoneless change detection, fix broken updates caused by setInterval by replacing it with signals + async pipe + markForCheck, and verify triggers (bound events, input sets, HTTP resource) while noting timers and raw observables do not trigger change detection. The migration ultimately works after those fixes.
AI-written summary · about
chapters (15)
- 0:00Angular without Zone.js
- 1:11Demo app and Zone.js role
- 3:22Zone.js triggers change detection
- 6:35Default vs OnPush explained
- 8:49Switching to OnPush
- 12:06Optimizing with markForCheck and async pipe
- 14:21Using Signals for reactivity
- 15:46Mixed change detection strategies
- 18:45Signals and local change detection
- 20:35Zoneless setup
- 22:06Migrating to zoneless
- 23:56Triggers in zoneless apps
- 25:05Demo in zoneless mode
- 27:12Fixing errors and finalizing
- 27:55Farewell to Zone.js
related talks
37mGet ready to go Zoneless
41mState of change detection in Angular and how far are we from Zoneless applications ?
01h 11mFully Zone-less — High-Performance Angular Applications in Post IVY
44mThe Future of Angular: Faster, Lighter, Stronger
31mCan you imagine a future without zones?
23mPartially Zoneless Performance tuning without big bang refactoring
40mThe Future of Angular: Faster, Lighter, Stronger
25mCan you imagine a future without zones?
