SORTIE ANGULAR 8

Le cycle régulier de publication d’Angular qui prévoit une nouvelle version majeure tous les six mois arrive à son terme. Avec Angular 7 sortie en octobre 2018, Angular 8 devrait sortir courant mai 2019 si tout va bien !


🚀 Go To The Moon : Pour Rappel nous proposons une formation Angular complète sur 5 jours avec un module avancé exclusif !

COMMENT METTRE À JOUR VOTRE PROJET ANGULAR EN V8 ?

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 7.2, l’exécution de cette commande vous permettra une mise a jour rapide et efficace vers Angular 8 :

1
ng update @angular/cli @angular/core

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

INTEGRATION DE IVY

La principale d’innovation d’Angular 8 sera l’intégration partielle du nouveau compilateur et moteur IVY.
Avec Opt-in Ivy Aperçu obtenez un aperçu du fonctionnement de votre application avec Ivy

IVY propose 2 concepts fondateurs :

Tree Shaking : Supprimez le code inutilisé pour que votre application ne prête attention qu’au code qu’elle utilise réellement, d’où un bundle plus petit et un temps d’exécution plus rapide.

Compilation partielle : Recompilez uniquement les composants que vous modifiez, ce qui accélère la compilation.

Ces concepts devraient rendre les applications Angular plus légères, plus rapides et plus simples, le tout sans modification de votre application existante. Dans Angular 8, Ivy n’est qu’un aperçu de sa version complète voici donc les :

Nouveautés Ivy présentées dans Angular 8

  • Code généré plus facile à lire et à déboguer au moment de l’exécution
  • Temps de reconstruction plus rapide
  • Amélioration de la taille des composants
  • Meilleur vérification des type pour les templates
  • Excellente rétrocompatibilité

Chargement différentiel du JavaScript moderne

La CLI commencera à produire des ensembles JavaScript hérités (ES5) et modernes (ES2015+) lors de la compilation, qui seront chargés de façon différentielle côté client afin d’améliorer la vitesse de chargement et le temps d’interaction (TTI) pour les navigateurs modernes.

Ce travail est basé sur et construit en collaboration avec Manfred Steyer et son projet ngx-build-modern.

Amélioration des web workers

Les web workers sont un système permettant d’exécuter du code dans des thread séparés, permettant de séparer une partie de la logique de votre application, et de paralléliser les calculs sans ralentir la main thread, utilisé pour la partie principale de votre application.

La version 8 d’Angular intègre désormais une suite d’outils via le CLI visant a faciliter la mise en place et la gestion des ces web workers

Rétrocompatibilité du routeur : Angular Router

Angular 8 ajoute un mode de rétrocompatibilité qui simplifie la mise à niveau pour les grands projets.

Il sera plus facile pour les équipes de passer à Angular depuis AngularJS en permettant le chargement tardif (LazyLoading) de certaines parties d’applications AngularJS à l’aide de l’API

1
$route
.

Partage d’utilisation opt-in

Pour avoir un maximum information sur les besoins de la communauté Angular. Google ajoute la télémétrie et une demande d’adhésion volontaire à la interface de ligne de commande. Avec notre consentement, il y aura une collecte des informations de façon anonymes sur des éléments tels que les commandes utilisées et la vitesse d’exécution.

L’Architect API

Avec cette nouvelle version arrive la première version officielle de l’Acrhitect API. Cet API permet d’accéder, et de personnaliser la CLI d’Angular, par la création de taches appelées builders.

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.3. 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 : Du solide mais sans révolution

La version Angular bien que très attendu peut être vu comme une version transitoire entre Angular 7 et 9, la présentation du compilateur IVY permettra aux concepteurs d’obtenir un premier retour sur l’utilisation de IVY.

Les versions candidates récemment sorties porter également un certain nombre de corrections de bug pour l’outil de compilation Bazel ainsi qu’un correctif pour le compilateur, ce qui corrige un plantage dû à isSkipSelf of null.

Ces correctifs seront surement présents dans la version stable de Angular 8

La mise à niveau vers Angular 8 vous permettra de vous assurer que vos applications sont prêtes pour Ivy. Bien qu’Ivy ne soit qu’un aperçu optionnel dans Angular 8, c’est l’occasion de vérifier la compatibilité de Ivy. Si vos applications doivent être modifiées, il vaut mieux vérifier immédiatement que d’attendre que vos applications ne fonctionnent plus sous Angular 9 ou 10 lorsque Ivy deviendra la valeur par défaut et que l’ancien moteur d’Angular sera supprimé.

Sources :
A plan for version 8.0 and Ivy