Quand est-ce que sort Angular 9 ?

La version 9 d’Angular est sortie le 6 février 2020.

🚀 Go To The Moon : Pour Rappel nous proposons une formation Angular complète sur 3 jours avec 2 jours sur la partie Avancée pour devenir un véritable expert du sujet !

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 :

1 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.

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.

Conclusion

Avec Angular 9, la communauté peut bénéficier d’applications plus légères et donc bénéficier d’applications hautes performances et d’une meilleure expérience de développement. Les développeurs ont désormais une syntaxe et une structure de projet claires.

Quels changements seront intégrés à Angular à l’avenir?

L’équipe Angular a indiqué qu’il n’était pas nécessaire de modifier radicalement l’API. Y aura-t-il plus de dépréciations et peut-être une autre façon de créer des composants ? Une expérience de développeur améliorée est toujours quelque chose à espérer. À l’avenir, nous consacrerons peut-être plus de temps au développement de composants et de directives et moins de temps à essayer de les coller ensemble.