Let’s talk about the latest update of the framework and the main changes in its work.
On March 11, 2019 there was the latest release of Angular 1.7.8. The update brings a lot of new features and functional updates, like Angular Material library & the Command Line Interface.
IVY — the newest feature compiler/runtime (experimental phase), that attracts the attention of many developers, as it changes Angular work from the internal side. To use Ivy in angularCompilerOptions add "enableIvy": true then restart the framework. Right now, there’re no astonishing features, but developers promise to see them in the nearest future (by default in Angular 9). Also, the important feature of Ivy that rules how to write the app does not change. Angular support team created a script for the upgrade, to prevent errors, so if you accidentally face any errors during the update contact Angular support team will help you to find a solution.
- tree shakable: remove unnecessary code (if you do not use some feature of Angular it will not add code to final app release);
- faster compilation due to the rearrangement of the components;
- low Memory Footprint;
- template type checking — improved.
Let’s check the result of the update: "Hello World" in Angular, the size is 36KB, so if you use Ivy the size reduces to 2.7KB. The reduction is impressive 93%. If we check the speed the results will be amazing too — old Angular 4 seconds, in Ivy only 2.2 seconds. The speed became faster at 45%.
Also, Ivy focuses on improving coding experience, it makes easier to read and debug code.
Here you can see the list of important updated features of Angular 8, except Ivy:
- support for TypeScript 3.4 by default;
- forms — markAllAsTouched (by AbstractControl class) — record a control as touched but also all its descendants. FormArray.clear (For instantly removing all the controls);
- router: Lazy Loading (dynamic EcmaScript imports);
- location: added support for location service when you upgrade;
- web worker support with the Angular CLI.
Multiple apps on sub-domains:
- SVG files as the templates support;
- disable auto-correcting invalid usage of tr and col HTML elements;
- new features ngUpgrade;
- allow to use Builders API.
To sum up, the development team helps to make work with the Angular framework easier. The main change is the implementation of Ivy. If you are thinking to run the update or no, keep in mind, that the developers announced that they will support Angular 1.7 till Apr 18, 2020. Also, it is better to update right now, so you can check if your app is compatible with Ivy.
The update to Angular 8 version should not take much time and should not create some errors, especially if you migrated over using the new HttpClient and to RxJS 6.