News: What’s Coming in Angular 6

With the production release for Angular 6 scheduled for early next month, let’s highlight some of the more important improvements and features planned as part of this version.

Ivy Renderer

Ivy is the new, backward-compatible Angular render engine. The Angular Team have been working towards a smaller, faster Angular that’s easier to use. Ivy serves this end goal beautifully, improving compilation speed, reducing app size (3.2KB Hello World app? Whoah!), and resulting in more flexibility. We’re also being promised a smooth, non-breaking transition to Ivy, which is pretty remarkable.

While it’s not feature complete just yet, Ivy can be tested via the enableIvy: true angularCompilerOptions flag.

Bazel Compiler

This is a build system used for the majority of software built at Google, including their Angular apps. The way it works is that it only rebuilds the parts of the code that actually changed, as well as its dependants. Thus rebuilds tackle only what is necessary, and not the application in its entirety. As a result, the build process is faster and incremental.

Closure Compiler

Closure Compiler is Google’s bundling optimizer of choice. Compared to Webpack and Rollup, it generates smaller bundles and is much better at eliminating dead code.

Service Workers

A service worker is a script running in the web browser and managing the app’s caching. While they are an integral part of Angular 5, service workers in Angular 6 feature important fixes and new features.

The safety-worker.js helper introduces the ability to uninsall service workers before installing new ones, thus enabling older clients to safely and gradually update.

Component Dev Kit (CDK)

CDK is already used by the Angular Material library and its array of UI components. It allows developers to build their own library of components based on Angular Material, and provides a set of tested tools to add common interaction patterns with minimal effort.

Angular Elements

Angular Elements are Angular components packaged as Custom Elements. They let us bluild reusable components in the Angular way, and then embed them in any type of website.

That’s it for now.

I’m definitely looking forward to the above, and for other exciting developments yet to make it onto the formal roadmap. Yay Angular!