Angular 8 is now available. Learn about some of our favorite new features, why we think they are important and how they make your life as an Angular developer easier.
As you no doubt saw, version 8 of Angular was released this week. The update spans across the framework, Angular Material and the CLI. We’re always eager to dig in when a new version ships and wanted to share a few of the new features we find interesting and why.
After reading, let us know what you think? What else about this major release are you looking to take advantage of?
Prior to version 8 of Angular, in order to make sure your application was compatible with the majority of browsers, compilation (ES5 - Typescript that is compiled and bundled) and polyfills (which provide functionality not available in legacy browsers) were used.
In Angular 8, differential loading - which means the CLI actually builds a modern bundle and a legacy bundle – is handled by the Angular CLI as part of the build process for deployment by default.
According to the documentation, the Angular CLI uses two configurations for differential loading:
browserslistconfiguration file is included in your application project structure and provides the minimum browsers your application supports. See the Browserslist spec for complete configuration options.
targetin the TypeScript
compilerOptionsdetermines the ECMAScript target version that the code is compiled to. Modern browsers support ES2015 natively, while ES5 is more commonly used to support legacy browsers.
Note: Differential loading is currently only supported when using es2015 as a compilation target. When used with targets higher than es2015, a warning is emitted during build time.
One of the biggest benefits to differential loading that applications will save 7-20% of their bundle size.
Stephen Fluin describes the process in more detail in his blog post about the release.
Angular has long supported lazy loading by using the
loadChildren key in the route configuration. With version 8, the Angular team has migrated from a custom syntax that was built into the Angular toolchain to the industry standard dynamic import. For developers who are using VSCode or WebStorm, this provides a significantly better experience, as those editors will now be able to understand and validate the imports.
With Angular 8, a preview version of Ivy (the next-generation rendering pipeline for Angular) is available. The Angular team still recommends it should be used for testing only and not yet for production. That said, the promise of Ivy is that it will make Angular applications smaller and faster.
In Angular 8 you can generate new web workers from the CLI. This allows you to speed up your application if you are doing any sort of CPU-intensive processing because it offloads work to a background thread.
With this new version, Angular now provides a new Builders API that allows you to perform building, testing, and deployment processes that were traditionally done with Schematics.
As mentioned before, this is just a sampling of what is included in the Angular 8 release. Our engineers and advocates are excited to continue to dive deeper into all of the new features and functionality that has been delivered and you can expect to see more in-depth blogs in the coming weeks.
The Angular team has been very transparent about the fact that this release is an "evolution, not a revolution." We believe they delivered on that promise in a big way and are making Angular developers lives easier with the new functionality. Making your like easier is one of our goals as well. To that end, we are proud to say that Kendo UI for Angular team has been working hard to ensure it is Angular 8 compatible. They are still working on Ivy compatibility and will push out updates as they become available. If you don't have a current Kendo UI license, make sure you download your free 30-day trial.
And don't forget to share your thoughts with us about this release.
Sara Faatz leads the Telerik and Kendo UI developer relations team at Progress. She has spent the majority of her career in the developer space building community, producing events, creating marketing programs, and more. When she's not working, she likes diving with sharks, running, and watching hockey.
Subscribe to be the first to get our expert-written articles and tutorials for developers!