Angular 7 in the house

 

Angular 7 was just released on October 18. I’ve had some time to take a look at it. So, I just wanted to mention a few of the things I noticed.

 

Updating to Angular 7

The good news is that this seems to be a much easier upgrade than going from Angular 5 to version 6 was. So far, I haven’t needed to make any significant changes in the experiments I’ve done on some existing projects.

If you remember, the main difficulty in updating to Angular 6 was moving to RxJS 6. Since RxJS is still on version 6, we don’t have that major upgrade to deal with.

Furthermore, I went through the code examples in my own articles and I didn’t have to modify any of the code that was based on Angular 6.

 

Angular.io

Since the release, they have made two significant updates to the Documentation section of the Angular website at angular.io:

  • The Angular CLI Documentationis now an official part of the iowebsite. This continues the strategy of making Angular CLI an integral part of the Angular offering and not just a nice supporting project.
  • They added a Release Informationsection that specifically addresses issues about new releases and how to update your projects.

 

Core Dependencies

Angular has two core dependencies: RxJS and TypeScript.

  • RxJS 6.3
    Angular 7 uses RxJS version 6.3. As we discussed previously, this shouldn’t cause us any real headaches as we were already using RxJS version 6 in Angular 6.
  • TypeScript 3.1
    Angular 7 uses TypeScript version 3.1. Although this is a major upgrade from Angular 6 which used TypeScript version 2.9, I haven’t yet seen anything that needs to be changed. For more details you can review the TypeScript CHANGELOG.

 

Ivy

The long awaited rendering engine didn’t make it into this release. However, don’t despair. There is a flag in the ng newcommand–experimentalIvy. To try it out you can use:

 

ng new myApp –experimentalIvy=true

 

I haven’t had a chance to try this out yet. But, setting it to true will create a new Angular workspace which uses the experimental Ivy rendering engine.

Furthermore, if you want a good primer on how to get started understanding the internals of Ivy, you should check out the excellent article by Max, Wizard of the Web.

 

Angular Material

Angular Material continues to make huge progress. Angular 7 will make some minor changes to the way your Material GUI looks.

One of the most interesting additions is support for Drag and Drop. For more information about this, check out Tim Deschryver’s fantastic article:
Exploring Drag and Drop with the new Angular Material CDK

 

Upcoming Releases

The Angular team has posted a plan of major updates every 6 months. At the time of this writing it looks like this:

 

Working with Angular 7

My recommendation is to move your projects to Angular 7 as soon as you can.  In the meantime, you are going to be dealing with projects in both versions 6 and 7.