
amélioration de performances et autres
La dernière version d’Angular 9 a été publiée en février et Google a déjà entamé le développement d’Angular 10. L’entreprise a publié au moins cinq versions bêta de la nouvelle version majeure du framework depuis le 8 avril. Cette nouvelle mouture est annoncée pour se concentrer davantage sur l’écosystème que sur les fonctionnalités. Angular 10 pourrait donc être plus petite que les versions antérieures. Google n’a pas annoncé une date pour l’arrivée d’une version de production, mais cela devrait arriver sous peu. Voici un aperçu des nouveautés d’Angular 10.
La fonctionnalité "ajout d'informations sur les dépendances et les sélecteurs ng-content aux métadonnées" du compilateur est proposée pour fournir des métadonnées supplémentaires utiles pour des outils tels que le service de langage d’Angular, offrant la possibilité de fournir des suggestions pour les directives/composantes définies dans les bibliothèques.
L’amélioration des performances est obtenue en réduisant la taille du manifeste du point d'entrée et une technique de mise en cache dans le manifeste. En outre, la mise en cache des dépendances est effectuée dans le manifeste du point d'entrée et lue à partir de celui-ci plutôt que d'être calculée chaque fois. Auparavant, même si un point d'entrée n'avait pas besoin d'être traité, ngcc (Angular Ivy compatibility compiler) analysait les fichiers du point d'entrée pour calculer les dépendances, ce qui prenait beaucoup de temps pour les modules à grands noeuds.
Lors du formatage d'une heure avec le code de format b ou B, la chaîne rendue ne traitait pas correctement les périodes de jour qui s'étendaient sur plusieurs jours. Au lieu de cela, la logique revenait au cas par défaut d’AM. Cette logique a été mise à jour afin qu'elle corresponde aux heures d'une période de jour qui s'étend au-delà de minuit, de sorte qu'elle rend maintenant une sortie correcte, comme la nuit dans le cas de l'anglais. Les applications utilisant soit le formatDate() ou DatePipe ou les codes de format b et B seront affectées par ce changement.
Une garde de CanLoad qui renvoie Urltree annule la navigation en cours. Cela correspond au comportement actuel disponible pour les gardes CanActivate qui a également été ajouté. Cela n'affecte pas le préchargement. Une garde CanLoad bloque tout préchargement ; tout itinéraire avec une garde CanLoad ne sera pas préchargé et les gardes ne seront pas exécutées dans le cadre du préchargement.
Un certain nombre de bogues ont été corrigés, notamment le fait que le compilateur évite les expressions non définies dans un tableau troué et que le noyau évite une erreur de migration lorsqu'un symbole inexistant est importé. Il existe également une solution de contournement dans le noyau pour le bogue d'inlining de Terser. Une autre correction de bogue permet d'identifier correctement les modules concernés par les surcharges dans TestBed.
En outre, dans un correctif du noyau, une logique devrait être ajoutée à la migration des classes non décorées pour décorer les classes dérivées des classes non décorées qui utilisent des caractéristiques d’Angular. Dans un changement de rupture, le type d'Urlmatcher reflétera qu'il pourrait toujours retourner nul. Pour l'employé de service, un correctif a été mis en place pour une situation dans laquelle il était possible que l'employé de service ne s'inscrive jamais lorsqu'il y a une tâche de longue durée ou un temps d'arrêt récurrent.
Dans Angular 10, on note aussi la propagation de la plage de valeurs correcte dans une ExpressionBinding d'une expression microsyntaxique à ParsedProperty, laquelle pourra, à son tour, propager la plage à l’AST (arbre syntaxique créé après le parsing des templates) du modèle (à la fois VE et Ivy). Cette proposition est également valable pour le compilateur. Pour le service-worker, une correction a été introduite pour résoudre une situation dans laquelle le service-worker pouvait ne jamais s’enregistrer en cas de tâche de longue durée ou un temps d'arrêt récurrent.
Source : Versions préliminaires d’Angular 10
Et vous ?

Voir aussi




Vous avez lu gratuitement 0 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.