Angular 8 is finally here (in May)!
Software developers and Angular community were eagerly waiting for the new release of Angular to happen with quite high expectations. The new version looks promising and is majorly focused on making it easier for developers to build different kinds of apps, as well as improving the performance.
It is a major release that will bring changes to the entire platform, including the material, command line interface (CLI), and framework. Angular 8 is much faster and lighter than its previous versions, delivers new APIs, and aligns better with modern web standards and ecosystem.
Before getting deep into the new features and improvements, let’s have a look at its previous versions.
Angular at a glance
Angular is one of the most used JavaScript-based front-end web frameworks in the market. Maintained by Google and a community of organizations, it was first launched in 2009.
It wasn’t that innovative in the beginning because of large size, lack of faster performance, and other technical issues. However, the team behind it worked hard and revamped the framework completely. They used powerful libraries and added features like tree-shaking, and ahead-of-time compiling.
Angular 2 featured Typescript which enabled the framework to display the errors in HTML templates. Angular 4 brought view-engine improvements and reduced code generation for creating apps.
And then there was no stopping for the Angular. It kept on evolving with time, introducing new features, and making things easier and simpler for developers. Last year in October, the Angular 7 was released. And now, the latest version — Angular v8 is available.
Features of Angular 8 and improvements
1. Differential Loading by default
Angular will now be able to take advantage of differential loading by default. This will enable the browsers to select the modern or traditional JavaScript bundles of the app on the basis of the capabilities of the app. What this means that the bundle of JS will be loaded accordingly when the app is used.
This has been made possible because the new version will feature separate JS bundles for modern (es2015) and traditional (es5) builds. As a result, the loading time and speed of the app will be faster.
2. Improved support from code editors
The route configurations in Angular will now use dynamic imports, which will improve the support from code editors such as Visual Studio Code and WebStorm. These editors will be able to understand and validate the imports automatically.
What Angular team has done is updated the loadChildren key in the route configuration. Previously, this key was custom to Angular, and now it has been moved to industry standard dynamic imports.
3. New Builder APIs
The latest version of Angular comes with new Builder APIs. Using these APIs, the developers will be able to go into the ng build, ng test, and ng run for development processes, such as deployment and building.
Angular has worked closely with cloud service providers for the new APIs. The AngularFire is now available for use. Developers can install it to add deploy commands. Following installation, this command will build and deploy the app as suggested by AngularFire.
4. Opt-in telemetry in CLI
Angular 8 will collect anonymous data such as commands and build speed to keep everything aligned with the community needs. This will also help the team behind Angular to learn how developers use the platform so that they can improve the things in future.
The data will be collected by Angular only when the developers allow it to.
5. New API for easier workspace configuration
There is a new API with Angular 8, aimed to make things easier for developers while making updates to the workspace configuration. Previously, they needed to manually open and make changes to the angular.json files in order to update the workspace configuration.
6. Support for web workers
For the developers whose apps perform CPU-intensive processing, Angular is now going to have web worker support. This will accelerate the performance of apps despite the heavy workloads.
What web workers do is allow developers to take some of the burden of the app to a background thread, like the image or video manipulation.
7. Backwards compatibility mode
To make it easier to upgrade large-sized apps, the new Angular version will have a backwards compatibility mode.
Enhancements have been made across lazy loading parts of the AngularJS app from Angular. Thus, the developers will now be able to move the main features of the app first, while loading only the AngularJS for the subsets.
8. Ivy & Bazel
At Google, I/O 2018, the search engine giant had announced these features for Angular development. Since then, the users are eagerly waiting for them.
Ivy is basically a new rendering pipeline and view engine that will translate the templates and components into regular HTML and JavaScript. There are several benefits of Ivy. For instance, it can reduce payload size, accelerate re-build time, eliminate the need for metadata.json, etc.
Whereas, the Bazel is an open source tool for orchestration of build processes. This can help in optimization of the build flow and speed.
Both these features are currently in the experimental phase and will be available in future.
Updating to Angular v8
To update to the latest version of Angular, visit update.angular.io. Alternately, the developers can use this command for the update:
ng update @angular/cli @angular/core
Wrapping up
In this article, we have mentioned all the new features and improvements in Angular 8. These features are very likely to make the lives of developers easier and boost their productivity. When Ivy and Bazel will join the Angular, things will become all the more innovative.
What are your favorite features in Angular 8? Let us know via the comments section below.