Angular 5: Top features To Watch Out For

by TOPS Infosolutions May 11, 2018
Angular 5

Angular is developed by Google and is one of the widely used JavaScript framework which help developers to build web applications by using HTML as a template language. Angular’s data binding and dependency injection eliminate much of the code which you could otherwise have to write manually, that may result into a tedious task.

In order to deliver the latest features, Google has been updating Angular consistently to make it light-weight, fast and easy-to-use. In November 2017, Google released Angular 5.0 with a number of features and bug fixes. The core focus of this update is to simplify app development, code sharing, code compilation time etc.

Overview of Angular 5 new features and improvements

Build Optimizer

The new release of Angular 5 comes with the Build Optimizer tool which makes the framework smaller, faster and easier to use. Build Optimizer is run by default when production builds are created with CLI (Command line interface) and decreases the size of JavaScript. Basically, Build Optimizer has 2 main roles i.e. it:-

  • Marks the part of your application as ‘pure’ which removes the part of your application i.e. not needed during runtime via tree shaking
  • Remove decorators from application’s runtime code because decorators are used by the compiler and are not needed at runtime

These jobs can enhance the boot speed of your application and lessen up the size of JavaScript bundles.

Compiler Improvements

The improvements were also made in the compiler to provide faster rebuilds for both production builds and AOT builds. The previous version was bit slow and small change in a template needed full compilation. This updated version has ‘pipeline transformer’ which has an ability of TypeScript compiler that only compiles what is necessary with a new watch mode. Features were added to the decorators which made it possible to create smaller bundles by removing whitespaces. The new compiler saves 95% of the build time when performing an incremental AOT build.

You can take advantage by using, ng serve –aot

Improved decorator support

The new feature of Angular 5 supports decorators like useValue, useFactory and data in object literals.  These decorators help to use the values that are calculated at runtime. Rather than using name function NULL can be used, so that it can execute the code without affecting the public API.

Before

Component({
                              provider: [{provide: ‘token’, useValue: calculated()}]
                     })
export class MyClass {}

Angular 5

Component({
                              provider: [{provide: ‘token’, useFactory: () => null}]
                      })
export class MyClass {}

 

HttpClient instead of HTTP

Http client came into existence in version 4.3; angular/http was used for making a smaller, simpler and more powerful HTTP web requests in an angular application.  Now in version 5, the angular team recommends to use HTTPclient for all applications.

To update HTTPClient, replace HttpModule with HttpClientModule from @angular/common/http in each of the modules, inject the HttpClient service, and eliminate any map(res => res.json()) calls, which are no longer required.

Its features include

  • Typed, synchronous response body access, including support for JSON body types.
  • JSON is now used as a default; no longer to explicitly parsed JSON
  • Interceptors enable middleware logic to be inserted into the pipeline
  • Immutable request/response objects
  • Progress events for request upload and response download

Angular Universal Transfer API

In Angular 5, sharing code between client side and server side version of the application has become much easier. Angular Universal was introduced to provide support for the developers in order to perform server-side rendering of Angular applications. Furthermore, two modules like ServerTransferStateModule and BrowserTransferStateModule were added which helps to generate information on platform server and then transfer information to the client side to avoid regeneration of the same information. This is useful when an application fetches data over HTTP!

By transferring state from the server, developers can refrain from making another HTTP request, once the application makes it to the client.

Furthermore, Domino is added to the platform-server; this means that Angular 5 supports DOM based manipulations within server-side contexts and also supports third-party JavaScript and Component libraries.

Internationalization of pipelines for number, date and currencies

The latest update of Angular 5 includes number, date and currency pipes which enhanced standardization across browsers and eliminated the need for i18n polyfills. Apart from this, the pipe has been updated to provide extensive locale support and configurations for any locales relying on the CLDR .

If you do not want to use this new pipe, you can import the module DeprecatedI18NPipesModuleto after the CommonModule to access the previous behavior.

import { NgModule } from ‘@angular/core’;

import { CommonModule, DeprecatedI18NPipesModule } from ‘@angular/common’;

New Router lifecycle event

Angular 5 includes lifecycle events that enable developers to track router cycles from the beginning of running guards until the completion of activation.  The new events of the router lifecycle are:-

  • *ActivationStart*
  • *ActivationEnd*
  • *ChildActivationStart*
  • *ChildActivationEnd*
  • *GuardsCheckStart*
  • *GuardsCheckEnd*
  • *ResolveStart*
  • *ResolveEnd*

Above mentioned events can be used to have more control of your application.

Form Validation

In Angular 5, forms can run validation and value updates using ‘on blur’ or ‘on submit’ rather than on every input event.

<input name=“lastname” ngModel [ngModelOptions]=“{updateOn: ‘blur’}”>

If you have any server-side validation or any heavy process is triggered by validation or any value changes that are not run often; with this form validation in the new update, you can take control of the validation and value change timing at control level or specify it for a complete form.

Moreover, ‘asyncValidators’ can be specified in an option object, instead of declaring it as third parameter.

Conclusion

Angular 5 is smaller and faster and is loaded with significant features and great improvements. This update has very useful tools which will make your application faster and fully optimized. Angular update guide will help the development teams to learn more about Angular updates. The team of Angular is very active; although they came up with Anglular 5 in November 2017, major bug fixes version Angular 5.1 and Angular 5.2 were out soon after the release.

Well… the story doesn’t end up here… Angular 6 is about to release soon providing easier, smaller and quicker web development services.

Looking to build your next project in Angular 5? Connect with us today!

Tags

0/5 (0)
Quick Inquiry

Quick Inquiry