Angular 9 est disponible !

Il s’agit d’une version majeure depuis les 3 dernières années. En effet, la version active IVY, le nouveau moteur de rendu du Framework.

Faire la mise à jour

Cette nouvelle version nécessite en prérequis d’installer NodeJS 10 au minimum.

La page de migration d’Angular décrit bien la procédure à suivre. Je conseille l’exécution des commandes suivantes :

ng update @angular/cli@8 @angular/core@8
ng update @angular/cli @angular/core
npm -g update @angular/cli

Cela prend un peu de temps pour tout mettre à jour.

Quels sont les nouveautés ?

Les nouveautés de la version sont décrites sur le blog d’Angular. Les principales informations sont les suivantes. Je vous invite aussi à lire les API abandonnées.

IVY
Le nouveau moteur de rendu du Framework inclut plein d’améliorations sans pour autant modifier le code de l’application, notamment :

  • Les bundles sont plus petits
  • Meilleurs performances pendant les tests
  • L’objet « ng » permet d’appeler des méthodes du composant pour le debug
  • Meilleur affichage des erreurs

TypeScript 3.7
La dernière version du langage est utilisée par Angular 9.
Je vous invite à consulter les nouveautés des versions 3.6 et 3.7.

Le point que je trouve le plus marquant est l’opérateur de chaîne optionnel « ? ». Il est maintenant possible d’écrire :

let a = monObjet?.maPropriete1?.maPropriete2
let a = monTableau?.[1]
// => renvoi "undefined" si l'élément n'est pas accessible

Dans la pratique ?

Concrètement, j’ai fait la migration sur l’un de mes projets Angular 8.

Je n’ai eu aucune erreur de compilation après la migration du projet.
Suite à compilation, le bundle est passé de 3,15 Mo à 2,92 Mo, soit une diminution de 7%.