Google est vraiment en train de se rattraper et a réussi à stabiliser le framework Angular (On se souvient de la catastrophe entre Angular 1 et Angular 2). Une chose est quasiment sûre, c’est qu’avec une nouvelle version tous les 6 mois, Google annonce clairement son intention de faire d’Angular un framework stable et mature.

COMMENT METTRE À JOUR VOTRE PROJET ANGULAR EN V9 ?

Comme à chaque mise à jour d’Angular, Google assure la rétrocompatibilité des applications. Pour cela nous vous conseillons d’aller voir du côté du site officiel update.angular.io pour obtenir des informations détaillées et des conseils sur la mise à jour de votre web application.

Si vos applications sont sous la version la plus récente d’Angular 8, l’exécution de cette commande vous permettra une mise à jour rapide et efficace vers Angular 9 :

ng update @angular/core @angular/cli

Il vous faudra aussi passer sur la version 3.7 de Typescript désormais obligatoire, et il est recommandé d’utiliser Node.js version 12 ou plus.

ACTIVATION D’IVY PAR DÉFAUT

Pour rappel, dans Angular 8, le moteur Ivy était en option. Par conséquent, il fallait l’activer au préalable l’option enableIvy en modifiant le fichier tsconfig.json et en déclarant le changement dans le node_modules. Dans Angular 9, Ivy sera défini par défaut, donc les applications Angular construites par ce biais seront plus rapides et plus efficaces.

A partir de la version 9, vous allez utiliser ce nouveau moteur de rendu et de compilation ce qui va grandement améliorer vos performances entre autres. Pour rappel avant, on était obligé de faire ceci pour l’activer 

“angularCompilerOptions”: {

    “enableIvy”: true

  }

I18N / IVY

Une des nouveautés majeures est l’ajout de i18n avec le moteur Ivy. Pour rappel i18n permet de gérer l’internationalisation de votre application. Passer facilement d’une langue à une autre.

Angular 9 fournit au moteur Ivy de quoi utiliser i18n directement. Vous pouvez même générer vos fichiers de ‘gestion’ d’i18n directement avec Angular CLI :

ng xi18n

 

DIRECTIVES SANS SÉLECTEUR

Une fonctionnalité manquante dans l’aperçu d’Angular 8 Ivy qui était disponible dans ViewEngine était la possibilité d’utiliser des directives sans sélecteur comme classes de base. Avec Angular 9, cette fonctionnalité a été ajoutée à Ivy afin que les développeurs bénéficient des avantages de la compilation Ivy, tout en continuant à bénéficier des fonctionnalités précédentes.

AMÉLIORATIONS DU DIAGNOSTIC ANGULAR

Auparavant, le compilateur générait à la fois des diagnostics natifs TypeScript et ses propres diagnostics API internes. Mais les diagnostics TypeScript ont bénéficié d’améliorations récentes, dont aucune n’a été implémentée dans les diagnostics API. Au lieu de prendre en charge plusieurs formats, Angular 9 a simplifié le processus en convertissant tous les diagnostics du compilateur Angular TypeScript (ngtsc) au même format de diagnostic TypeScript.

La version 9 empêchera également les applications de rencontrer des problèmes de liaison potentiels en utilisant le registre de schéma pour vérifier les liaisons DOM. En outre, des diagnostics de modèle cohérents seront utilisés pour prendre en charge la génération de messages d’erreur hautement descriptifs.

CHANGEMENTS D’INJECTION DE DÉPENDANCE DANS LE CLI

Angular Core a également quelques améliorations. Par exemple, Angular 9 a étendu les options de la propriété providedIn pour inclure également les portées «plateforme» et «all».

MODIFICATION DU TESTBED DANS CORE

Angular 9 apporte une modification au niveau du TestBed (l’API de test unitaire principale pour les applications Angular) en remplaçant l’ancienne méthode d’injection get par inject. Get fonctionne toujours, mais son utilisation est désormais déconseillée. Actuellement, la méthode TestBed.get n’est pas sécurisée. Sa correction introduirait l’apparition de gaps, donc l’équipe Angular a décidé de le remplacer par TestBed.inject.

AMÉLIORATIONS DE L’API EXTRACT

Angular dépend de nombreuses librairies qui évoluent séparément. Les utilisateurs peuvent en manquer à mesure que les bogues potentiels sont résolus et que de nouvelles fonctionnalités sont implémentées dans ces librairies. En réponse, Angular 9 mettra à jour l’API Extractor vers la dernière version.

MISE À JOUR DES DÉPENDANCES

Comme toujours, l’équipe a mis à jour les dépendances et les outils tels que :

  • Prise en charge de TypeScript 3.7.5. Les versions de TypeScript 3.1 et 3.2 ne seront plus supportées.
  • RxJS et Node pour rester synchronisés avec le reste de l’écosystème.
Tagged:

Laisser un commentaire