Default Differential Loading is here with Angular 8

Default Differential Loading is here with Angular 8

The new release of Angular is here, with improvements to the framework, Angular Material, and the CLI designed to improve application startup time on modern browsers. There are also new APIs to let developers make better use of the CLI.

Angular is a is a TypeScript-based web application framework. It is open source, and can be used for building JavaScript apps and dynamic web pages. It has gained widespread support partially because it’s a good framework, and partially because of the work on its development by a team at Google.

The headline change to the new version is that differential loading is turned on by default. Differential loading lets the browser in which your app is loaded choose what works best – modern or legacy JavaScript. The new release of Angular automatically performs both a modern build (es2015) and a legacy build (es5) of your application. Writing about the new support on the Angular blog, Stephen Fluin said:

“On angular.io we saved over 40kB of initial bundle size for modern browsers. From the community we’ve heard that applications generally save 7–20% of their bundle size, depending on the amount of modern JavaScript features they take advantage of.”

The next improvement in the new version is support for EcmaScript dynamic import. This enables lazy loading of routes, meaning Angular now follows the JavaScript specification, and apps are more compatible with tooling.

WebWorker support is better in this release, making it easier to . offload work such as image or video manipulation to a background thread. meaning you can write code that moves expensive computation to a separate thread, and have that bundled in a separate script that works in the browser. You can now generate new web workers from the CLI, use it in your application, and the CLI will be able to bundle and code split it correctly.

There’s also a new Builders API in the CLI that can be used by tooling developers to replace the behavior of CLI commands such as build and test. 

More Information