Most articles I have seen strongly associate
NgZone with change detection in Angular. And although they are definitely related, technically they are not part of one whole. Yes,
NgZone is used to automatically trigger change detection as a result of async operations. But since change detection is a separate mechanism it can successfully work without
NgZone. In the first chapter I will show how Angular can be used without
zone.js. Second part of the article explains how Angular and zone.js interact together through
NgZone. In the end I’ll also show why automatic change detection sometimes doesn’t work with 3rd party libraries like Google API Client Library (gapi).