Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zoneless Angular: The Hidden Cost of Zone.js an...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Zoneless Angular: The Hidden Cost of Zone.js and What Replaces It

Zone.js has been a core part of Angular’s change detection for years. At the same time, it introduces real trade-offs: more challenging debugging, unpredictable performance, increased bundle size, and additional runtime overhead.

In this talk, we’ll start by examining the price we pay for using Zone.js and what practical benefits zoneless mode brings in return: improved performance characteristics, a clearer mental model, and an enhanced developer experience.

After that, we’ll take a short look under the hood of Angular’s zoneless mode. You’ll see how Angular triggers change detection without Zone.js, the role of the ChangeDetectionScheduler, and how the framework knows which exact parts of your application view need to update.

Avatar for Dmytro Mezhenskyi

Dmytro Mezhenskyi

May 21, 2026

Other Decks in Programming

Transcript

  1. Zoneless Angular: The Hidden Cost of Zone.js and What Replaces

    It Dmytro Mezhenskyi Angular GDE. Creator and Author of @ DecodedFrontend [email protected]
  2. When should we schedule view checking? Every time the state

    changes But when can the state change? User interactions (events) and asynchronous operations 🤔
  3. ZoneJS - it is a library that monkey-patches the async

    browser APIs and notifies Angular when async tasks complete
  4. gallery Root Header Page Footer Search Button breadcr gallery slide

    logo AppComponent ( Root ) HeaderComponent SearchComponent ButtonComponent PageComponent FooterComponent LogoComponent BreadcrumbsComponent GalleryComponent SlideComponent ZoneJS ApplicationRef tick()
  5. ZoneJS - it is a library that monkey-patches the async

    browser APIs and notifies Angular when async tasks complete
  6. ZoneJS - it is a library that monkey-patches the async

    browser APIs and notifies Angular when async tasks complete
  7. ZoneJS - it is a library that monkey-patches the async

    browser APIs and notifies Angular when async tasks complete
  8. Zone.js 😐 Another dependency to manage 😐 Adds about +

    33kb to the initial bundle is a library 😐 Delays between new browser async API releases and Zone.js support 😐 Maintenance cost and bug fixes
  9. ZoneJS - it is a library that monkey-patches the async

    browser APIs and notifies Angular when async tasks complete
  10. Zone.js - it is a library that monkey-patches the async

    browser APIs and notifies Angular when async tasks complete
  11. Zone.js As a CD scheduler 😐 ZoneJS doesn ’ t

    really know what & where changed, making Angular do unnecessary work
  12. gallery Root Page breadcr gallery slide AppComponent ( Root )

    PageComponent BreadcrumbsComponent GalleryComponent SlideComponent Zone.js Zone.js doesn ’ t know WHAT & WHERE has changed! ???
  13. Zone.js As a CD scheduler 😐 Not every async operation

    should trigger a change detection cycle
  14. Zone.js Summary 😐 Monkey-patching can hurt developer experience and create

    integration challenges 😐 Less efficient change detection can hurt performance 😐 One more dependency to manage 😐 Adds about 33kb to the initial bundle
  15. SearchComponent ButtonComponent PageComponent BreadcrumbsComponent GalleryComponent HeaderComponent AppComponent ( Root )

    gallery slide SlideComponent ChangeDetectionScheduler ApplicationRef Contains a dirty child view
  16. Zoneless Summary 😊 Improved Developer Experience 😊 No “big bang

    ” migration 😊 Better performance 😊 Simpler mental model
  17. If your app works well with onPush strategy — you

    ’ re likely ready for Zoneless
  18. Zoneless Angular: The Hidden Cost of Zone.js and What Replaces

    It Dmytro Mezhenskyi Angular GDE. Creator and Author of @ DecodedFrontend [email protected]