Angular v17 : La renaissance du framework ?

Le 8 novembre 2023 à marqué un grand tournant dans l’histoire d’Angular avec la publication du leur futur nouvelle version, la V17. Aujourd’hui, nous allons nous pencher sur cette mise à jour et voir quels sont les nouveautés fantastiques de cette version !

Nouveau look

Lors du live du 07/11, la team Angular nous a dévoilé son nouveau logo :

Logo Angular 17

Ce nouveau logo est accompagné d’une toute nouvelle plateforme : angular.dev !

Site angular.dev

Pour cette documentation, nous avons une nouvelle structure, de nouveaux guides, et surtout des tutoriels et un playground pour un apprentissage interactif.

La nouvelle documentation est extrêmement complète et détaillée. Heureusement, pour notre plus grand bonheur, le tutoriel est facile d’accès.

Documentation angular.dev

Pour des débutants en Angular ou des confirmés, le tutoriel apporte des éléments qui vont faciliter notre compréhension sur certaines notions et notamment sur le nouveau Control Flow !

Le Control Flow

Adieu ngIf, ngFor et ngSwitch et bonjour à @if, @for et @switch. Ce nouveau Control Flow permet une meilleure lisibilité dans les templates, je vous remets le lien vers l’article des bonnes pratiques qui vous montre en quoi la lisibilité du code est importante dans la maintenance des applications.

Regardons ça ensemble avec le block if:

Avant la V17 :

Utilisation du ngIf

Avec la V17 :

Control Flow : @if

Plus de blocks dans les tags html ! Pour ceux qui font beaucoup d’Angular, vous voyez surement déjà l’intérêt.

Souvent, on se retrouve avec des tags html contenant class, id, et autres directives. En plus, si on rajoute une boucle ou une condition, le tag se retrouve “déformé” et il est assez difficile de comprendre comment le template fonctionne. On peut également ajouter un nouveau niveau d’indentation pour faciliter la lecture du code.

Pour fini avec le block @if, on trouve une gestion native du elseif :

Control Flow : @elseif

Pour le @for, c’est une gestion similaire au “for of” :

Control Flow : @for

Vous pouvez voir sur cet exemple l’utilisation du track. Il doit vous rappeler le trackBy utilisé sur le *ngFor mais ces performances ont été GRANDEMENT augmenté. Ils ont augmenté de 90% sont runtime d’après le community framework benchmark !

De plus, le @for implémente le @empty dans le cas où l’objet de votre boucle est vide :

Control Flow : @empty

Enfin, le @switch :

Avant la V17 :

Utilisation du ngSwitch

Avec la V17 :

Control Flow : @switch

Un nouveau block ?

n effet ! La team Angular a ajouter le block @defer. Qu’est-ce qu’il fait ? Il vous permet de charger les éléments à l’intérieur de ce block selon certaines conditions que vous définissez. Après un certains temps, lors du scroll de la page, après le chargement de datas, lors du survol de la souris…

Control Flow : @defer

Ici, vous pouvez voir plusieurs mots clés :

Les autres nouveautés

La team Angular à aussi présenté son nouveau package @angular/ssr qui vient totalement remplacer Angular Universal pour faire du Server Side Rendering et son nouveau système de build basé sur esbuild et ViteJS qui améliore de 67% le build des applications Angular. Je ne vais pas m’étendre sur ses points, ils feront l’objet d’autres articles dédiés au rendu côté serveur et le build des applications Angular.

Mot de la fin

Nous avons fait un tour rapide des nouveautés et l’avenir d’Angular semble très prometteur ! Et avec l’ajout des signaux dans la V16, les futures mises à jour seront tout aussi excitantes !

Si vous voulez plus d’information sur la mise à jour, je vous invite à lire cet article ou voir le live Youtube.

Si vous voulez essayer la V17, je vous invite à regarder leur nouveau site !

Si cet article vous a plu, n’hésitez pas à le partager et nous faire des retours ! Vos retours sont importants pour nous permettre de nous améliorer et de vous proposer les meilleurs contenus.

N’hésitez pas à consulter nos autres articles ou entamer une discussion pour une future collaboration !

top