In May 28, 2019, Angular came up with its latest version Angular 8.0 which is shares amazing feature in this blog we can take a look of all advantages of Angular 8
1. angular command line interface builder :
The Angular Command LineInterface(CLI) is frequently improving. Now in Angular 8, the ng test, ng build and ng run are supplied by 3rd-party libraries and tools. The best example for that is AngularFire which is already use of these new capabilities with a deploy command.
2. building with bazel :
Building the CLI application with Bazel is one of the new features of angular 8. Angular itself based on built with Bazel framework
Why Bazale is important :The main important benefits are we can build backends and frontends with the same tool
Excluding the first build, The build time is very fast the reason is Bazel is designed for absolutely reproducible builds but coexisting builds will be lot faster and it will be favorable if the app uses certain modules and libraries.
We can exclude Bazel files, they are invisible itself
bazal build is Incremental type build :
the codebasThe e only generates the smallest rebuild possible help to deploy only what was changed instead of the entire App.
3. opting into angular ivy :
If you are familiar with Angular then you must have to know the word “Ivy”. Ivy has changed the angular history, it is the renderer of angular which is totally different from everything as it uses incremental DOM.
without any changing in Angular application, it will changes the framework internally works. Ivy project rewrites the runtime code and Angular compiler in order to reach.
better build time due to incremental approach
New features including lazy loading of the component instead of the whole module
compact build size more suitable with tree-shaking.
Two main approaches of IVY
1. The tree shakable approach means is to remove the unused pieces of code, the framework will not describe the component. rather than the component references instruction. if it doesn’t mention the particular instruction, which we never use so we can neglect the untouched instruction from the bundled result in smaller bundles and faster load times.
2. Low Memory Footprint (LMF) :
When the DOM nodes are added or removed at that time the incremental DOM will allocate the memory rather than Incremental DOM doesn’t need any memory to rerender the view. Most render calls will not change anything result in to save more memory.
4. facilitate with lazy loading :
Lazy loading found on the approach of the Angular route as it will help deliver the compact size by using the lazily loading of requiring large files. in the earlier version of angular, the route configuration uses the property @loadChildren which only accepts a string. if there is any mistake in the module name or any blunder during the writing the code angular would not recognize it wrong and get whatever value was there as a string until we try building it. in the latest Angular 8, they have added support for dynamic imports in the route configuration which implement the use of import statement for lazy loading the module and this will be understood by the IDEs, webpack etc.
5. type script 3.4 support :
The essential advantage of Angular 8 is it supports TypeScript 3.4 and the Angular 8 project will not run without TypeScript 3.4 So, for angular 8 we have to upgrade the TypeScript version to 3.4. TypeScript 3.4 has a announce new flag known as incremental. which tells TypeScript to save the information about the project graph from the latest compilation. whole the time TypeScript is the adjure with incremental, it will use that information to found the latest and easiest way to type check and emit changes to the project.
6. web worker adding :
JavaScript is single-threaded, therefore it’s common for additional important tasks like information calls to require place asynchronously. Web Workers facilitate you to run the CPU intensive computations within the background thread, liberating the most thread to update the programme.
During the processing of data if the application is unresponsive at that time Web workers will essential.
By using Angular CLI we can have to create web worker to outsource such a calculation to the background if we want.
7. new Api builder :
The new Angular 8 provides the facilities to use Builders API. which is used for the main operations including serve, build, test, lint, and e2e in the actual builder is a function that implement the logic and behavior for a particular task that will replace a command which we pass to the createBuilder() method from @angular-devkit/architect package and We can also construct our custom builders as well.
Apart from this Angular also worked on taking advantage of the cloud for APIs. AngularFire is one of the best examples, adds a deploy command, simplifying the process of build & deploys to Firebase.
ng add @angular/fire
ng run my-app: deploy
additionally, customizing angular.json in Schematics turning about to alter in a workspace structure was previously a manual task. But now Angular 8 will comes with advance feature and new API that makes all kind of modifying and reading the file works easier
8. introducing dart sass :
Yes, Angular command line interface has ditched node-sass for dart-sass to form your Sass files. this may currently be the reference implementation exchange Ruby – the legend. Dart is believed to be super quick nearly to the purpose of ill fame.
Although the generated Sass files ought to stay unchanged, there are possibilities the compiler would possibly become a small indefinite quantity stricter. Also, with fibers, the speed may double.
All this was potential earlier additionally. However, Dart is currently the default and that’s quite modification. Here’s a takeaway: node-sass will still be used if you put in it expressly.