Description
Découvrons les nouveautés de
React 19
Action et Server component
Angular 18
zoneless
dotnet 9
Cloud native
Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.




Description
Découvrons les nouveautés de
React 19
Action et Server component
Angular 18
zoneless
dotnet 9
Cloud native
Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.
Transcription
Salut les curieux, salut les curieuses, bienvenue de nouveau chez Dev2BeCurious, le podcast pour les devs curieux et curieuses. Ici Evan Bocciano. On va parler aujourd'hui nouveautés, on se rapproche de belles nouveautés. Vous savez sans doute, chaque année on est rythmé par plusieurs livraisons. 2 pour Angular, React on sait pas quand, ça va bientôt arriver, et.NET une fois par an. Et là je vais vous parler des 3. J'adore les suivre, on adore chez Dev2Pickerous les suivre et on adore développer avec les trois. Tout d'abord, on va parler de React. Vous avez sans doute vu l'article qui est sorti il n'y a pas longtemps sur la documentation officielle. C'est le 25 avril dernier, il y a 4 jours. C'est la nouveauté de React 19. Vous avez peut-être entendu parler de React 19 qui est encore en bêta. C'est en train d'arriver et il y a des super belles nouveautés. Deuxièmement, je parlerai d'Angular 18 qui va arriver avec un petit secouage d'habitude avec Zoneless. Et je vous parlerai de Dotnet 9 qui arrivera lui au mois de novembre prochain. On a encore le temps de voir venir. Sachant que ça fait un peu jaser et il y en a qui considèrent que ce n'est pas une super version. On en discutera si vous voulez. Alors tout d'abord, on va parler de React. Avec donc React 19, quelles sont les nouveautés ? Alors, ils ont introduit une notion de action. L'action, l'idée, c'est de gérer des mises à jour asynchrones. Et donc, ils ont voulu les enregistrer, en fait, les officialiser avec cette gestion d'état à travers une partie, tout ce qui est data mutation, à travers donc une fonction, un hook qui va le gérer. On utilisait souvent le useState, le useTransition, c'est pas ça vous parle, vous voyez ces idées-là. On faisait du startTransition, on faisait toute la partie useState pour mettre à jour, on updatait le name, etc. Je ne sais pas si ça vous parle, toutes ces parties-là. Eh bien ici, on va pouvoir mettre à jour beaucoup plus facilement cette partie-là. On va utiliser ce qu'on appelle les actionState, useActionState, voilà ce qui va arriver. On va utiliser ce qu'on appelle le useOptimistic, voilà ce qui va arriver. Et on va utiliser aussi le useFormStatus. Pour rapidement présenter, je vais le tester d'ici les prochaines semaines, le useActionState va nous permettre de gérer des fonctions asynchrones, par exemple de mise à jour du name, avec le setUpdate ou setName, suivant ce qu'on veut faire. Donc ce useActionState C'était appelé avant UseFormState dans la release canary par exemple. Ça vous a peut-être parlé. Donc c'est cette idée-là. On en reparlera. On a vu aussi l'arrivée dans le form. C'est une new form feature du React DOM qui est en train d'arriver. Et donc là pareil, ça va permettre de mettre à jour beaucoup plus facilement le form. L'arrivée de UseFormStatus. Pour tout ce qui est design system, toute la partie construction design, on va avoir la possibilité de travailler avec le contexte. Dans plusieurs cas, on va pouvoir utiliser ce hook là, useFormStatus. On en reparlera, ça va être vraiment pratique pour la gestion du contexte, par exemple d'un contexte pending pour gérer le disable. Enfin, le useOptimistic que je trouve assez intéressant dans cette partie là, c'est un nouveau hook encore, de nouveau, puisque de toute façon tout fonctionne par rapport à ça. C'est souvent qu'on utilise en UI dans des patterns. toute la partie data mutation où on part sur un principe optimistique contraire sur de la synchrone. C'est-à-dire qu'en gros, on envoie, on pense que c'est OK, même si ce n'est pas OK, on part sur l'affichage quand même. On va faire un set optimistic name, par exemple, sur le name. Même si l'envoi n'a pas été fait, même si la magie d'ajout n'a pas été faite. Vous savez, cette approche optimistique qui est j'envoie, et puis ce sera une autre gestion, ou un autre état plutôt, qui va me gérer, en fait, si ça était en erreur. C'est cette idée-là, en fait, qu'ils ont travaillé. On a l'arrivée de Use aussi, qui permet de lire une promesse et de gérer ça avec un Suspend. Ça, ça peut être intéressant aussi. Donc, par exemple, un Use Promesse. Et puis, directement, mon Suspend va pouvoir être mis à jour directement. Je dis Suspend, mais c'est Suspend. Ok, donc vous verrez ça, ça va être tout nouveau. Et enfin, il travaille exactement ce qu'on voit dans Angular aussi, toute la partie qu'on voit aussi dans Blazor. Blazor, ça existe depuis un petit moment quand même, pas tellement, mais depuis plusieurs mois. C'est l'arrivée en fait des components dédiés serveurs. C'est-à-dire qu'au lieu de penser une application SSR complète, on va penser une application hybride. C'est-à-dire d'un côté, elle peut être SSR, et de l'autre côté, pas. Et donc, c'est cette idée-là qui arrive. Donc, ça a été inclus dans le Canary, pareil. et cette fonctionnalité va nous permettre de faire des serveurs components. C'est super intéressant. Ils ont travaillé sur les serveurs Action. Il faut travailler avec un UseServer comme directive. Et automatiquement, ça va être reconnu comme Action. Vous savez, c'est l'Action que je décris juste avant. Il y a le REF comme mise à jour qui peut être pris en property. On a toute une partie de rétention pour bien gérer toute la partie SSR. Et le contexte peut être utilisé comme provider. Ça va amener une plus grande facilité de gestion, et même sur les REF. Voilà donc on a des belles fonctionnalités qui arrivent dans React 19 enfin vous me direz ça fait un petit moment qu'on le surveille enfin ça y est c'est cool ça fait du bien. Yes alors maintenant on va parler de Angular 19 vous savez peut-être qu'Angular 19 il a deux grands buts d'abord officialiser ça paraît tout bête mais la nouvelle version de la documentation Angular Elle est beaucoup plus simple, beaucoup plus agréable. Je trouve qu'elle est dans exactement la même direction qu'a Angular en ce moment. C'est-à-dire plus de facilité d'adhésion, plus de facilité de compréhension, comparée à l'ancienne doc que moi je trouvais lourde, et qui en plus était très confusante. Des fois, on ne savait même plus où aller. Il y avait des infos, on les retrouvait sur deux pages, un peu comme la MSDN. Donc il va y avoir des risques durant les recherches quand on tombe sur l'ancienne avec la nouvelle. Mais l'idée, c'est qu'ils veulent officialiser ça, et avec aussi un nouveau logo. genre c'est le truc le plus important et maintenant ils disent a new documentation for the same angular je sais plus comment ils disent exactement ça mais ça reste le même quoi mais vraiment à la fin welcome to the angular renaissance donc c'est vraiment dire que oui l'idée c'est d'amener quand même une renaissance d'angular et moi ça je trouve ça chouette parce que c'est exactement ce que je ressens depuis 3 versions ça fait 3 versions et je vous en parle depuis longtemps sur ce blog sur ce podcast. Ok, et à travers notre blog aussi. Alors, qu'est-ce qu'on peut avoir sur Angular 18 ? Il y a des fonctionnalités comme Default Content qui va apparaître. Il y a aussi, quand même, toute une partie sur le nouveau template compiler. Vous savez que le template compiler, c'est un des points qui, si vous avez suivi tout ce que j'ai pu raconter sur ce podcast, et les actualités d'Angular, vous savez que c'est un point qui a vraiment été le travail, je dirais, depuis Angular 9. C'est Eevee qui a été là pour essayer de travailler, améliorer les performances sur la génération du template. Car, peut-être que vous ne le saviez pas, mais le HTML qu'on utilise n'est pas le HTML qui est exécuté. Pas du tout. Tout ça s'est transformé dans du JS, des fonctions de génération, qui parlent au DOM, en fait, directement. C'est des Functional DOM. Et donc, ils vont parler au DOM, ils vont dire, écris ça, mets à jour ça, appelle mes fonctions Angular pour générer tel truc, et telle mise à jour par rapport à notre directive. Allez voir, le main.js, c'est super sympa, allez voir. par rapport à ça ou tous les les il est aussi vous faites du les il est au fait du les il est non je perds le droit de donner d'injection mais quasiment celle là est quand même importante bref revenons à nos moutons Ce qui est présenté dans un article de NG News, ils en parlent, le compiler avant c'était vraiment un gros monolithique, et en fait ils ont essayé d'améliorer ça, mais au bout d'un moment monolithique on sait ce que ça donne. Donc ils ont essayé de splitter un système qui est beaucoup plus intelligent, avec un système de pipeline, ça a paru en 17.3, et donc vous pourrez aller voir une vidéo là-dessus qui parle de ça. Comment ils ont pensé le nouveau système de template ? Le arrobase if, arrobase else, arrobase for, arrobase defer, c'est en lien avec toute cette mise à jour aussi. donc clairement on va arriver à ça et le deuxième point qui est quand même le plus important qui fait jaser une partie de la communauté Angular et qui rassure et qui plaît à toute l'autre partie c'est toujours pareil, il y a toujours des aficionados et aficionadas des deux, et bien c'est donc l'arrivée des signoles components, ce qu'on appelle les signoles, qui va nous permettre de travailler sans la zone, et je vous remontrerai encore je fais pas mal de live twitch là dessus j'en ferai un demain après-midi d'ailleurs si vous suivez cet épisode de... au 29 avril, il y a cette volonté de travailler sur le signal et montrer à quel point ça fonctionne. Angular 18 arrive dans un mois, moins d'un mois maintenant. On va se préparer là-dessus. On est vraiment sur cette idée de zone less. Signal et zone less. Waouh ! C'est un nouveau système qu'on appelle Hybrid Change Detection. Après, zone less, change detection. Cette idée, c'est de travailler en dehors de la zone. On va pouvoir travailler avec le Mark for Check. on va pouvoir travailler tout ce qu'on connaissait, mais vraiment sans la zone. Et ça, c'est extraordinaire. Donc, la toute dernière, la 18, la 17-3, amène cette idée-là. Et waouh ! C'est parti. Donc, ça y est, Angular est vraiment en train d'amener un coup de fouet. Enfin ! Enfin ! À tout ce qui est souhaité depuis longtemps d'Angular. Comme je disais, il y a une partie des personnes qui disent Attendez, Angular de base, il y a Angular 2 quand il est apparu, même AngularJS. C'était de se dire que tout était automatisé. Tout était automatisé, c'était leur force de vente en fait. Et même leur marque de fabrique. Ouais, mais ça c'est bien pour des petites applis. On a vite remarqué que c'est bien pour des petites applis, oui vraiment. Et après, on va trouver plutôt des techniques pour, avec le OnPush, c'était la première technique, puis après le Change Detector Ref, pour essayer de casser tout ça, parce que autrement, ça devenait vite un bordel monstrueux pour gérer toutes les mises à jour des Detect Changes. OK ? Donc voilà. Et enfin, on va parler du coup de quoi ? Des nouveautés de... La dotnet 9, alors là on est encore sur les prémices, mais voilà ce qui est mis sur la doc au 13 mars dernier, c'est vrai que je n'avais pas fait d'épisode là-dessus. Le successeur de dotnet 8 met l'accent sur les applications. native cloud. Donc, ça fait jaser, parce qu'ils se disent, oui, à quoi ça sert ? Il y a déjà pas mal de choses qui ont été faites, mais non, ils vont rajouter des fonctionnalités par rapport à ça. Alors, qu'est-ce qu'on peut voir là-dessus ? Ils vont travailler sur les performances, ils vont travailler sur la sérialisation, sur JSON sérialisation. Sur LinkView, ils vont rajouter countBy et aggregateBy, par exemple. Il y avait aussi des améliorations sur gourby qui avaient été faites. Voilà donc pareil je ferai des exemples très bientôt là dessus. On va travailler sur tout ce qui est que sur collection pour améliorer ça. On a aussi toute une partie sur le chiffrement one shot de hachage. Ils appellent ça le cryptographic operation. C'est des classes qui utilisent l'algorithme KMake si vous connaissez. Moi je m'y connais peu sur cette partie là. Je maîtrise les fondamentaux de la sécurité mais je ne pousse pas très loin hélas sur cette partie là. Je fais appel à des experts là-dessus. On a vraiment toute une partie de travail statique one-shot sur encore renforcer la sécurité. Et oui, c'est toute la partie cloud aussi. Donc voilà, on est vraiment sur cette volonté-là. Il y a une nouvelle implémentation persistante d'Assembly Builder qui permet de créer toute une partie de gestion de l'assembly aussi en cours et de l'amélioration comme d'habitude sur les performances. Ils accélèrent, intègrent les améliorations apportées par exemple au créateur JIT que vous connaissez peut-être 64 bits. Et ce qui est bien, donc c'est une question aussi... C'est quelque chose qui est en cours de travail. Ils améliorent encore l'AOT. Si vous n'avez pas suivi l'AOT, sachez que c'est toute cette partie où on rajoute du code pour détecter en amont de la génération du code, donc au moment de la compilation, on va rajouter dès qu'on sait sur quelle machine on est, on peut rajouter, on peut détecter des ifs, éviter de les gérer, etc. Tout pour accélérer l'exécution. Et ça, c'est super intéressant. Sur Générateur, il y a les prémices de ça. Et puis ils optimisent aussi les boucles. Donc ça c'est un travail sur la détection de génération de code pour les boucles. C'est exactement dans cette idée là, sur ce compilateur là. Donc le native AOT a été amélioré dans ce sens là. Et même des optimisations PGO, donc toute la partie profil dynamique. Et donc c'est en cours d'amélioration encore depuis la dotnet 8. Et validé. Voilà donc on est sur une phase de maturation, une phase d'amélioration. et clone native, donc on a hâte de voir les nouveautés. Il y a ASP.NET Core 9 aussi qui arrive, qui va arriver bien sûr en.NET 9. On est en.NET 9 Preview 3. Donc il y a l'injection de constructeurs, ça, ça va être intéressant à regarder. Moi, je vais regarder tout ça dans les prochaines semaines. On a Blazor qui est amélioré. Les mises à jour aussi sur le signaleur avec prise en charge de type polymorphes par exemple, si on veut gérer le polymorphisme. Voilà et puis toute la partie API minimal si on veut travailler ça dans Web API. Voilà et puis c'est tout grosso modo. Les mises à jour, donc c'est pas énorme mais toujours pareil ça va améliorer la performance, ça va améliorer le débogage, voilà des choses comme ça où c'est un peu plus confortable. Il y a Signalier comme je disais et puis vous avez maui qui va toujours être amélioré en dotnet 9. Ici qu'est-ce qu'on va prendre ? Toute la partie mise à jour d'android, c'est toujours normal et la mise à jour de commande de iOS mais il n'y a pas encore de grandes nouveautés annoncées. là-dessus. Voilà sur la mise à jour. Eh bien, ça nous promet des belles sources de tests, de présentations. J'ai hâte de vous présenter tout ça à travers des live Twitch, des vidéos YouTube et de nouveau sur d'autres épisodes de notre podcast. Merci de m'avoir écouté. D'ici là, codez bien. Je vous dis à très vite pour d'autres veilles ou d'autres infos ou réflexions autour de notre beau métier de développeur, de développeuse. Allez, ciao !
Description
Découvrons les nouveautés de
React 19
Action et Server component
Angular 18
zoneless
dotnet 9
Cloud native
Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.
Transcription
Salut les curieux, salut les curieuses, bienvenue de nouveau chez Dev2BeCurious, le podcast pour les devs curieux et curieuses. Ici Evan Bocciano. On va parler aujourd'hui nouveautés, on se rapproche de belles nouveautés. Vous savez sans doute, chaque année on est rythmé par plusieurs livraisons. 2 pour Angular, React on sait pas quand, ça va bientôt arriver, et.NET une fois par an. Et là je vais vous parler des 3. J'adore les suivre, on adore chez Dev2Pickerous les suivre et on adore développer avec les trois. Tout d'abord, on va parler de React. Vous avez sans doute vu l'article qui est sorti il n'y a pas longtemps sur la documentation officielle. C'est le 25 avril dernier, il y a 4 jours. C'est la nouveauté de React 19. Vous avez peut-être entendu parler de React 19 qui est encore en bêta. C'est en train d'arriver et il y a des super belles nouveautés. Deuxièmement, je parlerai d'Angular 18 qui va arriver avec un petit secouage d'habitude avec Zoneless. Et je vous parlerai de Dotnet 9 qui arrivera lui au mois de novembre prochain. On a encore le temps de voir venir. Sachant que ça fait un peu jaser et il y en a qui considèrent que ce n'est pas une super version. On en discutera si vous voulez. Alors tout d'abord, on va parler de React. Avec donc React 19, quelles sont les nouveautés ? Alors, ils ont introduit une notion de action. L'action, l'idée, c'est de gérer des mises à jour asynchrones. Et donc, ils ont voulu les enregistrer, en fait, les officialiser avec cette gestion d'état à travers une partie, tout ce qui est data mutation, à travers donc une fonction, un hook qui va le gérer. On utilisait souvent le useState, le useTransition, c'est pas ça vous parle, vous voyez ces idées-là. On faisait du startTransition, on faisait toute la partie useState pour mettre à jour, on updatait le name, etc. Je ne sais pas si ça vous parle, toutes ces parties-là. Eh bien ici, on va pouvoir mettre à jour beaucoup plus facilement cette partie-là. On va utiliser ce qu'on appelle les actionState, useActionState, voilà ce qui va arriver. On va utiliser ce qu'on appelle le useOptimistic, voilà ce qui va arriver. Et on va utiliser aussi le useFormStatus. Pour rapidement présenter, je vais le tester d'ici les prochaines semaines, le useActionState va nous permettre de gérer des fonctions asynchrones, par exemple de mise à jour du name, avec le setUpdate ou setName, suivant ce qu'on veut faire. Donc ce useActionState C'était appelé avant UseFormState dans la release canary par exemple. Ça vous a peut-être parlé. Donc c'est cette idée-là. On en reparlera. On a vu aussi l'arrivée dans le form. C'est une new form feature du React DOM qui est en train d'arriver. Et donc là pareil, ça va permettre de mettre à jour beaucoup plus facilement le form. L'arrivée de UseFormStatus. Pour tout ce qui est design system, toute la partie construction design, on va avoir la possibilité de travailler avec le contexte. Dans plusieurs cas, on va pouvoir utiliser ce hook là, useFormStatus. On en reparlera, ça va être vraiment pratique pour la gestion du contexte, par exemple d'un contexte pending pour gérer le disable. Enfin, le useOptimistic que je trouve assez intéressant dans cette partie là, c'est un nouveau hook encore, de nouveau, puisque de toute façon tout fonctionne par rapport à ça. C'est souvent qu'on utilise en UI dans des patterns. toute la partie data mutation où on part sur un principe optimistique contraire sur de la synchrone. C'est-à-dire qu'en gros, on envoie, on pense que c'est OK, même si ce n'est pas OK, on part sur l'affichage quand même. On va faire un set optimistic name, par exemple, sur le name. Même si l'envoi n'a pas été fait, même si la magie d'ajout n'a pas été faite. Vous savez, cette approche optimistique qui est j'envoie, et puis ce sera une autre gestion, ou un autre état plutôt, qui va me gérer, en fait, si ça était en erreur. C'est cette idée-là, en fait, qu'ils ont travaillé. On a l'arrivée de Use aussi, qui permet de lire une promesse et de gérer ça avec un Suspend. Ça, ça peut être intéressant aussi. Donc, par exemple, un Use Promesse. Et puis, directement, mon Suspend va pouvoir être mis à jour directement. Je dis Suspend, mais c'est Suspend. Ok, donc vous verrez ça, ça va être tout nouveau. Et enfin, il travaille exactement ce qu'on voit dans Angular aussi, toute la partie qu'on voit aussi dans Blazor. Blazor, ça existe depuis un petit moment quand même, pas tellement, mais depuis plusieurs mois. C'est l'arrivée en fait des components dédiés serveurs. C'est-à-dire qu'au lieu de penser une application SSR complète, on va penser une application hybride. C'est-à-dire d'un côté, elle peut être SSR, et de l'autre côté, pas. Et donc, c'est cette idée-là qui arrive. Donc, ça a été inclus dans le Canary, pareil. et cette fonctionnalité va nous permettre de faire des serveurs components. C'est super intéressant. Ils ont travaillé sur les serveurs Action. Il faut travailler avec un UseServer comme directive. Et automatiquement, ça va être reconnu comme Action. Vous savez, c'est l'Action que je décris juste avant. Il y a le REF comme mise à jour qui peut être pris en property. On a toute une partie de rétention pour bien gérer toute la partie SSR. Et le contexte peut être utilisé comme provider. Ça va amener une plus grande facilité de gestion, et même sur les REF. Voilà donc on a des belles fonctionnalités qui arrivent dans React 19 enfin vous me direz ça fait un petit moment qu'on le surveille enfin ça y est c'est cool ça fait du bien. Yes alors maintenant on va parler de Angular 19 vous savez peut-être qu'Angular 19 il a deux grands buts d'abord officialiser ça paraît tout bête mais la nouvelle version de la documentation Angular Elle est beaucoup plus simple, beaucoup plus agréable. Je trouve qu'elle est dans exactement la même direction qu'a Angular en ce moment. C'est-à-dire plus de facilité d'adhésion, plus de facilité de compréhension, comparée à l'ancienne doc que moi je trouvais lourde, et qui en plus était très confusante. Des fois, on ne savait même plus où aller. Il y avait des infos, on les retrouvait sur deux pages, un peu comme la MSDN. Donc il va y avoir des risques durant les recherches quand on tombe sur l'ancienne avec la nouvelle. Mais l'idée, c'est qu'ils veulent officialiser ça, et avec aussi un nouveau logo. genre c'est le truc le plus important et maintenant ils disent a new documentation for the same angular je sais plus comment ils disent exactement ça mais ça reste le même quoi mais vraiment à la fin welcome to the angular renaissance donc c'est vraiment dire que oui l'idée c'est d'amener quand même une renaissance d'angular et moi ça je trouve ça chouette parce que c'est exactement ce que je ressens depuis 3 versions ça fait 3 versions et je vous en parle depuis longtemps sur ce blog sur ce podcast. Ok, et à travers notre blog aussi. Alors, qu'est-ce qu'on peut avoir sur Angular 18 ? Il y a des fonctionnalités comme Default Content qui va apparaître. Il y a aussi, quand même, toute une partie sur le nouveau template compiler. Vous savez que le template compiler, c'est un des points qui, si vous avez suivi tout ce que j'ai pu raconter sur ce podcast, et les actualités d'Angular, vous savez que c'est un point qui a vraiment été le travail, je dirais, depuis Angular 9. C'est Eevee qui a été là pour essayer de travailler, améliorer les performances sur la génération du template. Car, peut-être que vous ne le saviez pas, mais le HTML qu'on utilise n'est pas le HTML qui est exécuté. Pas du tout. Tout ça s'est transformé dans du JS, des fonctions de génération, qui parlent au DOM, en fait, directement. C'est des Functional DOM. Et donc, ils vont parler au DOM, ils vont dire, écris ça, mets à jour ça, appelle mes fonctions Angular pour générer tel truc, et telle mise à jour par rapport à notre directive. Allez voir, le main.js, c'est super sympa, allez voir. par rapport à ça ou tous les les il est aussi vous faites du les il est au fait du les il est non je perds le droit de donner d'injection mais quasiment celle là est quand même importante bref revenons à nos moutons Ce qui est présenté dans un article de NG News, ils en parlent, le compiler avant c'était vraiment un gros monolithique, et en fait ils ont essayé d'améliorer ça, mais au bout d'un moment monolithique on sait ce que ça donne. Donc ils ont essayé de splitter un système qui est beaucoup plus intelligent, avec un système de pipeline, ça a paru en 17.3, et donc vous pourrez aller voir une vidéo là-dessus qui parle de ça. Comment ils ont pensé le nouveau système de template ? Le arrobase if, arrobase else, arrobase for, arrobase defer, c'est en lien avec toute cette mise à jour aussi. donc clairement on va arriver à ça et le deuxième point qui est quand même le plus important qui fait jaser une partie de la communauté Angular et qui rassure et qui plaît à toute l'autre partie c'est toujours pareil, il y a toujours des aficionados et aficionadas des deux, et bien c'est donc l'arrivée des signoles components, ce qu'on appelle les signoles, qui va nous permettre de travailler sans la zone, et je vous remontrerai encore je fais pas mal de live twitch là dessus j'en ferai un demain après-midi d'ailleurs si vous suivez cet épisode de... au 29 avril, il y a cette volonté de travailler sur le signal et montrer à quel point ça fonctionne. Angular 18 arrive dans un mois, moins d'un mois maintenant. On va se préparer là-dessus. On est vraiment sur cette idée de zone less. Signal et zone less. Waouh ! C'est un nouveau système qu'on appelle Hybrid Change Detection. Après, zone less, change detection. Cette idée, c'est de travailler en dehors de la zone. On va pouvoir travailler avec le Mark for Check. on va pouvoir travailler tout ce qu'on connaissait, mais vraiment sans la zone. Et ça, c'est extraordinaire. Donc, la toute dernière, la 18, la 17-3, amène cette idée-là. Et waouh ! C'est parti. Donc, ça y est, Angular est vraiment en train d'amener un coup de fouet. Enfin ! Enfin ! À tout ce qui est souhaité depuis longtemps d'Angular. Comme je disais, il y a une partie des personnes qui disent Attendez, Angular de base, il y a Angular 2 quand il est apparu, même AngularJS. C'était de se dire que tout était automatisé. Tout était automatisé, c'était leur force de vente en fait. Et même leur marque de fabrique. Ouais, mais ça c'est bien pour des petites applis. On a vite remarqué que c'est bien pour des petites applis, oui vraiment. Et après, on va trouver plutôt des techniques pour, avec le OnPush, c'était la première technique, puis après le Change Detector Ref, pour essayer de casser tout ça, parce que autrement, ça devenait vite un bordel monstrueux pour gérer toutes les mises à jour des Detect Changes. OK ? Donc voilà. Et enfin, on va parler du coup de quoi ? Des nouveautés de... La dotnet 9, alors là on est encore sur les prémices, mais voilà ce qui est mis sur la doc au 13 mars dernier, c'est vrai que je n'avais pas fait d'épisode là-dessus. Le successeur de dotnet 8 met l'accent sur les applications. native cloud. Donc, ça fait jaser, parce qu'ils se disent, oui, à quoi ça sert ? Il y a déjà pas mal de choses qui ont été faites, mais non, ils vont rajouter des fonctionnalités par rapport à ça. Alors, qu'est-ce qu'on peut voir là-dessus ? Ils vont travailler sur les performances, ils vont travailler sur la sérialisation, sur JSON sérialisation. Sur LinkView, ils vont rajouter countBy et aggregateBy, par exemple. Il y avait aussi des améliorations sur gourby qui avaient été faites. Voilà donc pareil je ferai des exemples très bientôt là dessus. On va travailler sur tout ce qui est que sur collection pour améliorer ça. On a aussi toute une partie sur le chiffrement one shot de hachage. Ils appellent ça le cryptographic operation. C'est des classes qui utilisent l'algorithme KMake si vous connaissez. Moi je m'y connais peu sur cette partie là. Je maîtrise les fondamentaux de la sécurité mais je ne pousse pas très loin hélas sur cette partie là. Je fais appel à des experts là-dessus. On a vraiment toute une partie de travail statique one-shot sur encore renforcer la sécurité. Et oui, c'est toute la partie cloud aussi. Donc voilà, on est vraiment sur cette volonté-là. Il y a une nouvelle implémentation persistante d'Assembly Builder qui permet de créer toute une partie de gestion de l'assembly aussi en cours et de l'amélioration comme d'habitude sur les performances. Ils accélèrent, intègrent les améliorations apportées par exemple au créateur JIT que vous connaissez peut-être 64 bits. Et ce qui est bien, donc c'est une question aussi... C'est quelque chose qui est en cours de travail. Ils améliorent encore l'AOT. Si vous n'avez pas suivi l'AOT, sachez que c'est toute cette partie où on rajoute du code pour détecter en amont de la génération du code, donc au moment de la compilation, on va rajouter dès qu'on sait sur quelle machine on est, on peut rajouter, on peut détecter des ifs, éviter de les gérer, etc. Tout pour accélérer l'exécution. Et ça, c'est super intéressant. Sur Générateur, il y a les prémices de ça. Et puis ils optimisent aussi les boucles. Donc ça c'est un travail sur la détection de génération de code pour les boucles. C'est exactement dans cette idée là, sur ce compilateur là. Donc le native AOT a été amélioré dans ce sens là. Et même des optimisations PGO, donc toute la partie profil dynamique. Et donc c'est en cours d'amélioration encore depuis la dotnet 8. Et validé. Voilà donc on est sur une phase de maturation, une phase d'amélioration. et clone native, donc on a hâte de voir les nouveautés. Il y a ASP.NET Core 9 aussi qui arrive, qui va arriver bien sûr en.NET 9. On est en.NET 9 Preview 3. Donc il y a l'injection de constructeurs, ça, ça va être intéressant à regarder. Moi, je vais regarder tout ça dans les prochaines semaines. On a Blazor qui est amélioré. Les mises à jour aussi sur le signaleur avec prise en charge de type polymorphes par exemple, si on veut gérer le polymorphisme. Voilà et puis toute la partie API minimal si on veut travailler ça dans Web API. Voilà et puis c'est tout grosso modo. Les mises à jour, donc c'est pas énorme mais toujours pareil ça va améliorer la performance, ça va améliorer le débogage, voilà des choses comme ça où c'est un peu plus confortable. Il y a Signalier comme je disais et puis vous avez maui qui va toujours être amélioré en dotnet 9. Ici qu'est-ce qu'on va prendre ? Toute la partie mise à jour d'android, c'est toujours normal et la mise à jour de commande de iOS mais il n'y a pas encore de grandes nouveautés annoncées. là-dessus. Voilà sur la mise à jour. Eh bien, ça nous promet des belles sources de tests, de présentations. J'ai hâte de vous présenter tout ça à travers des live Twitch, des vidéos YouTube et de nouveau sur d'autres épisodes de notre podcast. Merci de m'avoir écouté. D'ici là, codez bien. Je vous dis à très vite pour d'autres veilles ou d'autres infos ou réflexions autour de notre beau métier de développeur, de développeuse. Allez, ciao !
Share
Embed
You may also like
Description
Découvrons les nouveautés de
React 19
Action et Server component
Angular 18
zoneless
dotnet 9
Cloud native
Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.
Transcription
Salut les curieux, salut les curieuses, bienvenue de nouveau chez Dev2BeCurious, le podcast pour les devs curieux et curieuses. Ici Evan Bocciano. On va parler aujourd'hui nouveautés, on se rapproche de belles nouveautés. Vous savez sans doute, chaque année on est rythmé par plusieurs livraisons. 2 pour Angular, React on sait pas quand, ça va bientôt arriver, et.NET une fois par an. Et là je vais vous parler des 3. J'adore les suivre, on adore chez Dev2Pickerous les suivre et on adore développer avec les trois. Tout d'abord, on va parler de React. Vous avez sans doute vu l'article qui est sorti il n'y a pas longtemps sur la documentation officielle. C'est le 25 avril dernier, il y a 4 jours. C'est la nouveauté de React 19. Vous avez peut-être entendu parler de React 19 qui est encore en bêta. C'est en train d'arriver et il y a des super belles nouveautés. Deuxièmement, je parlerai d'Angular 18 qui va arriver avec un petit secouage d'habitude avec Zoneless. Et je vous parlerai de Dotnet 9 qui arrivera lui au mois de novembre prochain. On a encore le temps de voir venir. Sachant que ça fait un peu jaser et il y en a qui considèrent que ce n'est pas une super version. On en discutera si vous voulez. Alors tout d'abord, on va parler de React. Avec donc React 19, quelles sont les nouveautés ? Alors, ils ont introduit une notion de action. L'action, l'idée, c'est de gérer des mises à jour asynchrones. Et donc, ils ont voulu les enregistrer, en fait, les officialiser avec cette gestion d'état à travers une partie, tout ce qui est data mutation, à travers donc une fonction, un hook qui va le gérer. On utilisait souvent le useState, le useTransition, c'est pas ça vous parle, vous voyez ces idées-là. On faisait du startTransition, on faisait toute la partie useState pour mettre à jour, on updatait le name, etc. Je ne sais pas si ça vous parle, toutes ces parties-là. Eh bien ici, on va pouvoir mettre à jour beaucoup plus facilement cette partie-là. On va utiliser ce qu'on appelle les actionState, useActionState, voilà ce qui va arriver. On va utiliser ce qu'on appelle le useOptimistic, voilà ce qui va arriver. Et on va utiliser aussi le useFormStatus. Pour rapidement présenter, je vais le tester d'ici les prochaines semaines, le useActionState va nous permettre de gérer des fonctions asynchrones, par exemple de mise à jour du name, avec le setUpdate ou setName, suivant ce qu'on veut faire. Donc ce useActionState C'était appelé avant UseFormState dans la release canary par exemple. Ça vous a peut-être parlé. Donc c'est cette idée-là. On en reparlera. On a vu aussi l'arrivée dans le form. C'est une new form feature du React DOM qui est en train d'arriver. Et donc là pareil, ça va permettre de mettre à jour beaucoup plus facilement le form. L'arrivée de UseFormStatus. Pour tout ce qui est design system, toute la partie construction design, on va avoir la possibilité de travailler avec le contexte. Dans plusieurs cas, on va pouvoir utiliser ce hook là, useFormStatus. On en reparlera, ça va être vraiment pratique pour la gestion du contexte, par exemple d'un contexte pending pour gérer le disable. Enfin, le useOptimistic que je trouve assez intéressant dans cette partie là, c'est un nouveau hook encore, de nouveau, puisque de toute façon tout fonctionne par rapport à ça. C'est souvent qu'on utilise en UI dans des patterns. toute la partie data mutation où on part sur un principe optimistique contraire sur de la synchrone. C'est-à-dire qu'en gros, on envoie, on pense que c'est OK, même si ce n'est pas OK, on part sur l'affichage quand même. On va faire un set optimistic name, par exemple, sur le name. Même si l'envoi n'a pas été fait, même si la magie d'ajout n'a pas été faite. Vous savez, cette approche optimistique qui est j'envoie, et puis ce sera une autre gestion, ou un autre état plutôt, qui va me gérer, en fait, si ça était en erreur. C'est cette idée-là, en fait, qu'ils ont travaillé. On a l'arrivée de Use aussi, qui permet de lire une promesse et de gérer ça avec un Suspend. Ça, ça peut être intéressant aussi. Donc, par exemple, un Use Promesse. Et puis, directement, mon Suspend va pouvoir être mis à jour directement. Je dis Suspend, mais c'est Suspend. Ok, donc vous verrez ça, ça va être tout nouveau. Et enfin, il travaille exactement ce qu'on voit dans Angular aussi, toute la partie qu'on voit aussi dans Blazor. Blazor, ça existe depuis un petit moment quand même, pas tellement, mais depuis plusieurs mois. C'est l'arrivée en fait des components dédiés serveurs. C'est-à-dire qu'au lieu de penser une application SSR complète, on va penser une application hybride. C'est-à-dire d'un côté, elle peut être SSR, et de l'autre côté, pas. Et donc, c'est cette idée-là qui arrive. Donc, ça a été inclus dans le Canary, pareil. et cette fonctionnalité va nous permettre de faire des serveurs components. C'est super intéressant. Ils ont travaillé sur les serveurs Action. Il faut travailler avec un UseServer comme directive. Et automatiquement, ça va être reconnu comme Action. Vous savez, c'est l'Action que je décris juste avant. Il y a le REF comme mise à jour qui peut être pris en property. On a toute une partie de rétention pour bien gérer toute la partie SSR. Et le contexte peut être utilisé comme provider. Ça va amener une plus grande facilité de gestion, et même sur les REF. Voilà donc on a des belles fonctionnalités qui arrivent dans React 19 enfin vous me direz ça fait un petit moment qu'on le surveille enfin ça y est c'est cool ça fait du bien. Yes alors maintenant on va parler de Angular 19 vous savez peut-être qu'Angular 19 il a deux grands buts d'abord officialiser ça paraît tout bête mais la nouvelle version de la documentation Angular Elle est beaucoup plus simple, beaucoup plus agréable. Je trouve qu'elle est dans exactement la même direction qu'a Angular en ce moment. C'est-à-dire plus de facilité d'adhésion, plus de facilité de compréhension, comparée à l'ancienne doc que moi je trouvais lourde, et qui en plus était très confusante. Des fois, on ne savait même plus où aller. Il y avait des infos, on les retrouvait sur deux pages, un peu comme la MSDN. Donc il va y avoir des risques durant les recherches quand on tombe sur l'ancienne avec la nouvelle. Mais l'idée, c'est qu'ils veulent officialiser ça, et avec aussi un nouveau logo. genre c'est le truc le plus important et maintenant ils disent a new documentation for the same angular je sais plus comment ils disent exactement ça mais ça reste le même quoi mais vraiment à la fin welcome to the angular renaissance donc c'est vraiment dire que oui l'idée c'est d'amener quand même une renaissance d'angular et moi ça je trouve ça chouette parce que c'est exactement ce que je ressens depuis 3 versions ça fait 3 versions et je vous en parle depuis longtemps sur ce blog sur ce podcast. Ok, et à travers notre blog aussi. Alors, qu'est-ce qu'on peut avoir sur Angular 18 ? Il y a des fonctionnalités comme Default Content qui va apparaître. Il y a aussi, quand même, toute une partie sur le nouveau template compiler. Vous savez que le template compiler, c'est un des points qui, si vous avez suivi tout ce que j'ai pu raconter sur ce podcast, et les actualités d'Angular, vous savez que c'est un point qui a vraiment été le travail, je dirais, depuis Angular 9. C'est Eevee qui a été là pour essayer de travailler, améliorer les performances sur la génération du template. Car, peut-être que vous ne le saviez pas, mais le HTML qu'on utilise n'est pas le HTML qui est exécuté. Pas du tout. Tout ça s'est transformé dans du JS, des fonctions de génération, qui parlent au DOM, en fait, directement. C'est des Functional DOM. Et donc, ils vont parler au DOM, ils vont dire, écris ça, mets à jour ça, appelle mes fonctions Angular pour générer tel truc, et telle mise à jour par rapport à notre directive. Allez voir, le main.js, c'est super sympa, allez voir. par rapport à ça ou tous les les il est aussi vous faites du les il est au fait du les il est non je perds le droit de donner d'injection mais quasiment celle là est quand même importante bref revenons à nos moutons Ce qui est présenté dans un article de NG News, ils en parlent, le compiler avant c'était vraiment un gros monolithique, et en fait ils ont essayé d'améliorer ça, mais au bout d'un moment monolithique on sait ce que ça donne. Donc ils ont essayé de splitter un système qui est beaucoup plus intelligent, avec un système de pipeline, ça a paru en 17.3, et donc vous pourrez aller voir une vidéo là-dessus qui parle de ça. Comment ils ont pensé le nouveau système de template ? Le arrobase if, arrobase else, arrobase for, arrobase defer, c'est en lien avec toute cette mise à jour aussi. donc clairement on va arriver à ça et le deuxième point qui est quand même le plus important qui fait jaser une partie de la communauté Angular et qui rassure et qui plaît à toute l'autre partie c'est toujours pareil, il y a toujours des aficionados et aficionadas des deux, et bien c'est donc l'arrivée des signoles components, ce qu'on appelle les signoles, qui va nous permettre de travailler sans la zone, et je vous remontrerai encore je fais pas mal de live twitch là dessus j'en ferai un demain après-midi d'ailleurs si vous suivez cet épisode de... au 29 avril, il y a cette volonté de travailler sur le signal et montrer à quel point ça fonctionne. Angular 18 arrive dans un mois, moins d'un mois maintenant. On va se préparer là-dessus. On est vraiment sur cette idée de zone less. Signal et zone less. Waouh ! C'est un nouveau système qu'on appelle Hybrid Change Detection. Après, zone less, change detection. Cette idée, c'est de travailler en dehors de la zone. On va pouvoir travailler avec le Mark for Check. on va pouvoir travailler tout ce qu'on connaissait, mais vraiment sans la zone. Et ça, c'est extraordinaire. Donc, la toute dernière, la 18, la 17-3, amène cette idée-là. Et waouh ! C'est parti. Donc, ça y est, Angular est vraiment en train d'amener un coup de fouet. Enfin ! Enfin ! À tout ce qui est souhaité depuis longtemps d'Angular. Comme je disais, il y a une partie des personnes qui disent Attendez, Angular de base, il y a Angular 2 quand il est apparu, même AngularJS. C'était de se dire que tout était automatisé. Tout était automatisé, c'était leur force de vente en fait. Et même leur marque de fabrique. Ouais, mais ça c'est bien pour des petites applis. On a vite remarqué que c'est bien pour des petites applis, oui vraiment. Et après, on va trouver plutôt des techniques pour, avec le OnPush, c'était la première technique, puis après le Change Detector Ref, pour essayer de casser tout ça, parce que autrement, ça devenait vite un bordel monstrueux pour gérer toutes les mises à jour des Detect Changes. OK ? Donc voilà. Et enfin, on va parler du coup de quoi ? Des nouveautés de... La dotnet 9, alors là on est encore sur les prémices, mais voilà ce qui est mis sur la doc au 13 mars dernier, c'est vrai que je n'avais pas fait d'épisode là-dessus. Le successeur de dotnet 8 met l'accent sur les applications. native cloud. Donc, ça fait jaser, parce qu'ils se disent, oui, à quoi ça sert ? Il y a déjà pas mal de choses qui ont été faites, mais non, ils vont rajouter des fonctionnalités par rapport à ça. Alors, qu'est-ce qu'on peut voir là-dessus ? Ils vont travailler sur les performances, ils vont travailler sur la sérialisation, sur JSON sérialisation. Sur LinkView, ils vont rajouter countBy et aggregateBy, par exemple. Il y avait aussi des améliorations sur gourby qui avaient été faites. Voilà donc pareil je ferai des exemples très bientôt là dessus. On va travailler sur tout ce qui est que sur collection pour améliorer ça. On a aussi toute une partie sur le chiffrement one shot de hachage. Ils appellent ça le cryptographic operation. C'est des classes qui utilisent l'algorithme KMake si vous connaissez. Moi je m'y connais peu sur cette partie là. Je maîtrise les fondamentaux de la sécurité mais je ne pousse pas très loin hélas sur cette partie là. Je fais appel à des experts là-dessus. On a vraiment toute une partie de travail statique one-shot sur encore renforcer la sécurité. Et oui, c'est toute la partie cloud aussi. Donc voilà, on est vraiment sur cette volonté-là. Il y a une nouvelle implémentation persistante d'Assembly Builder qui permet de créer toute une partie de gestion de l'assembly aussi en cours et de l'amélioration comme d'habitude sur les performances. Ils accélèrent, intègrent les améliorations apportées par exemple au créateur JIT que vous connaissez peut-être 64 bits. Et ce qui est bien, donc c'est une question aussi... C'est quelque chose qui est en cours de travail. Ils améliorent encore l'AOT. Si vous n'avez pas suivi l'AOT, sachez que c'est toute cette partie où on rajoute du code pour détecter en amont de la génération du code, donc au moment de la compilation, on va rajouter dès qu'on sait sur quelle machine on est, on peut rajouter, on peut détecter des ifs, éviter de les gérer, etc. Tout pour accélérer l'exécution. Et ça, c'est super intéressant. Sur Générateur, il y a les prémices de ça. Et puis ils optimisent aussi les boucles. Donc ça c'est un travail sur la détection de génération de code pour les boucles. C'est exactement dans cette idée là, sur ce compilateur là. Donc le native AOT a été amélioré dans ce sens là. Et même des optimisations PGO, donc toute la partie profil dynamique. Et donc c'est en cours d'amélioration encore depuis la dotnet 8. Et validé. Voilà donc on est sur une phase de maturation, une phase d'amélioration. et clone native, donc on a hâte de voir les nouveautés. Il y a ASP.NET Core 9 aussi qui arrive, qui va arriver bien sûr en.NET 9. On est en.NET 9 Preview 3. Donc il y a l'injection de constructeurs, ça, ça va être intéressant à regarder. Moi, je vais regarder tout ça dans les prochaines semaines. On a Blazor qui est amélioré. Les mises à jour aussi sur le signaleur avec prise en charge de type polymorphes par exemple, si on veut gérer le polymorphisme. Voilà et puis toute la partie API minimal si on veut travailler ça dans Web API. Voilà et puis c'est tout grosso modo. Les mises à jour, donc c'est pas énorme mais toujours pareil ça va améliorer la performance, ça va améliorer le débogage, voilà des choses comme ça où c'est un peu plus confortable. Il y a Signalier comme je disais et puis vous avez maui qui va toujours être amélioré en dotnet 9. Ici qu'est-ce qu'on va prendre ? Toute la partie mise à jour d'android, c'est toujours normal et la mise à jour de commande de iOS mais il n'y a pas encore de grandes nouveautés annoncées. là-dessus. Voilà sur la mise à jour. Eh bien, ça nous promet des belles sources de tests, de présentations. J'ai hâte de vous présenter tout ça à travers des live Twitch, des vidéos YouTube et de nouveau sur d'autres épisodes de notre podcast. Merci de m'avoir écouté. D'ici là, codez bien. Je vous dis à très vite pour d'autres veilles ou d'autres infos ou réflexions autour de notre beau métier de développeur, de développeuse. Allez, ciao !
Description
Découvrons les nouveautés de
React 19
Action et Server component
Angular 18
zoneless
dotnet 9
Cloud native
Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.
Transcription
Salut les curieux, salut les curieuses, bienvenue de nouveau chez Dev2BeCurious, le podcast pour les devs curieux et curieuses. Ici Evan Bocciano. On va parler aujourd'hui nouveautés, on se rapproche de belles nouveautés. Vous savez sans doute, chaque année on est rythmé par plusieurs livraisons. 2 pour Angular, React on sait pas quand, ça va bientôt arriver, et.NET une fois par an. Et là je vais vous parler des 3. J'adore les suivre, on adore chez Dev2Pickerous les suivre et on adore développer avec les trois. Tout d'abord, on va parler de React. Vous avez sans doute vu l'article qui est sorti il n'y a pas longtemps sur la documentation officielle. C'est le 25 avril dernier, il y a 4 jours. C'est la nouveauté de React 19. Vous avez peut-être entendu parler de React 19 qui est encore en bêta. C'est en train d'arriver et il y a des super belles nouveautés. Deuxièmement, je parlerai d'Angular 18 qui va arriver avec un petit secouage d'habitude avec Zoneless. Et je vous parlerai de Dotnet 9 qui arrivera lui au mois de novembre prochain. On a encore le temps de voir venir. Sachant que ça fait un peu jaser et il y en a qui considèrent que ce n'est pas une super version. On en discutera si vous voulez. Alors tout d'abord, on va parler de React. Avec donc React 19, quelles sont les nouveautés ? Alors, ils ont introduit une notion de action. L'action, l'idée, c'est de gérer des mises à jour asynchrones. Et donc, ils ont voulu les enregistrer, en fait, les officialiser avec cette gestion d'état à travers une partie, tout ce qui est data mutation, à travers donc une fonction, un hook qui va le gérer. On utilisait souvent le useState, le useTransition, c'est pas ça vous parle, vous voyez ces idées-là. On faisait du startTransition, on faisait toute la partie useState pour mettre à jour, on updatait le name, etc. Je ne sais pas si ça vous parle, toutes ces parties-là. Eh bien ici, on va pouvoir mettre à jour beaucoup plus facilement cette partie-là. On va utiliser ce qu'on appelle les actionState, useActionState, voilà ce qui va arriver. On va utiliser ce qu'on appelle le useOptimistic, voilà ce qui va arriver. Et on va utiliser aussi le useFormStatus. Pour rapidement présenter, je vais le tester d'ici les prochaines semaines, le useActionState va nous permettre de gérer des fonctions asynchrones, par exemple de mise à jour du name, avec le setUpdate ou setName, suivant ce qu'on veut faire. Donc ce useActionState C'était appelé avant UseFormState dans la release canary par exemple. Ça vous a peut-être parlé. Donc c'est cette idée-là. On en reparlera. On a vu aussi l'arrivée dans le form. C'est une new form feature du React DOM qui est en train d'arriver. Et donc là pareil, ça va permettre de mettre à jour beaucoup plus facilement le form. L'arrivée de UseFormStatus. Pour tout ce qui est design system, toute la partie construction design, on va avoir la possibilité de travailler avec le contexte. Dans plusieurs cas, on va pouvoir utiliser ce hook là, useFormStatus. On en reparlera, ça va être vraiment pratique pour la gestion du contexte, par exemple d'un contexte pending pour gérer le disable. Enfin, le useOptimistic que je trouve assez intéressant dans cette partie là, c'est un nouveau hook encore, de nouveau, puisque de toute façon tout fonctionne par rapport à ça. C'est souvent qu'on utilise en UI dans des patterns. toute la partie data mutation où on part sur un principe optimistique contraire sur de la synchrone. C'est-à-dire qu'en gros, on envoie, on pense que c'est OK, même si ce n'est pas OK, on part sur l'affichage quand même. On va faire un set optimistic name, par exemple, sur le name. Même si l'envoi n'a pas été fait, même si la magie d'ajout n'a pas été faite. Vous savez, cette approche optimistique qui est j'envoie, et puis ce sera une autre gestion, ou un autre état plutôt, qui va me gérer, en fait, si ça était en erreur. C'est cette idée-là, en fait, qu'ils ont travaillé. On a l'arrivée de Use aussi, qui permet de lire une promesse et de gérer ça avec un Suspend. Ça, ça peut être intéressant aussi. Donc, par exemple, un Use Promesse. Et puis, directement, mon Suspend va pouvoir être mis à jour directement. Je dis Suspend, mais c'est Suspend. Ok, donc vous verrez ça, ça va être tout nouveau. Et enfin, il travaille exactement ce qu'on voit dans Angular aussi, toute la partie qu'on voit aussi dans Blazor. Blazor, ça existe depuis un petit moment quand même, pas tellement, mais depuis plusieurs mois. C'est l'arrivée en fait des components dédiés serveurs. C'est-à-dire qu'au lieu de penser une application SSR complète, on va penser une application hybride. C'est-à-dire d'un côté, elle peut être SSR, et de l'autre côté, pas. Et donc, c'est cette idée-là qui arrive. Donc, ça a été inclus dans le Canary, pareil. et cette fonctionnalité va nous permettre de faire des serveurs components. C'est super intéressant. Ils ont travaillé sur les serveurs Action. Il faut travailler avec un UseServer comme directive. Et automatiquement, ça va être reconnu comme Action. Vous savez, c'est l'Action que je décris juste avant. Il y a le REF comme mise à jour qui peut être pris en property. On a toute une partie de rétention pour bien gérer toute la partie SSR. Et le contexte peut être utilisé comme provider. Ça va amener une plus grande facilité de gestion, et même sur les REF. Voilà donc on a des belles fonctionnalités qui arrivent dans React 19 enfin vous me direz ça fait un petit moment qu'on le surveille enfin ça y est c'est cool ça fait du bien. Yes alors maintenant on va parler de Angular 19 vous savez peut-être qu'Angular 19 il a deux grands buts d'abord officialiser ça paraît tout bête mais la nouvelle version de la documentation Angular Elle est beaucoup plus simple, beaucoup plus agréable. Je trouve qu'elle est dans exactement la même direction qu'a Angular en ce moment. C'est-à-dire plus de facilité d'adhésion, plus de facilité de compréhension, comparée à l'ancienne doc que moi je trouvais lourde, et qui en plus était très confusante. Des fois, on ne savait même plus où aller. Il y avait des infos, on les retrouvait sur deux pages, un peu comme la MSDN. Donc il va y avoir des risques durant les recherches quand on tombe sur l'ancienne avec la nouvelle. Mais l'idée, c'est qu'ils veulent officialiser ça, et avec aussi un nouveau logo. genre c'est le truc le plus important et maintenant ils disent a new documentation for the same angular je sais plus comment ils disent exactement ça mais ça reste le même quoi mais vraiment à la fin welcome to the angular renaissance donc c'est vraiment dire que oui l'idée c'est d'amener quand même une renaissance d'angular et moi ça je trouve ça chouette parce que c'est exactement ce que je ressens depuis 3 versions ça fait 3 versions et je vous en parle depuis longtemps sur ce blog sur ce podcast. Ok, et à travers notre blog aussi. Alors, qu'est-ce qu'on peut avoir sur Angular 18 ? Il y a des fonctionnalités comme Default Content qui va apparaître. Il y a aussi, quand même, toute une partie sur le nouveau template compiler. Vous savez que le template compiler, c'est un des points qui, si vous avez suivi tout ce que j'ai pu raconter sur ce podcast, et les actualités d'Angular, vous savez que c'est un point qui a vraiment été le travail, je dirais, depuis Angular 9. C'est Eevee qui a été là pour essayer de travailler, améliorer les performances sur la génération du template. Car, peut-être que vous ne le saviez pas, mais le HTML qu'on utilise n'est pas le HTML qui est exécuté. Pas du tout. Tout ça s'est transformé dans du JS, des fonctions de génération, qui parlent au DOM, en fait, directement. C'est des Functional DOM. Et donc, ils vont parler au DOM, ils vont dire, écris ça, mets à jour ça, appelle mes fonctions Angular pour générer tel truc, et telle mise à jour par rapport à notre directive. Allez voir, le main.js, c'est super sympa, allez voir. par rapport à ça ou tous les les il est aussi vous faites du les il est au fait du les il est non je perds le droit de donner d'injection mais quasiment celle là est quand même importante bref revenons à nos moutons Ce qui est présenté dans un article de NG News, ils en parlent, le compiler avant c'était vraiment un gros monolithique, et en fait ils ont essayé d'améliorer ça, mais au bout d'un moment monolithique on sait ce que ça donne. Donc ils ont essayé de splitter un système qui est beaucoup plus intelligent, avec un système de pipeline, ça a paru en 17.3, et donc vous pourrez aller voir une vidéo là-dessus qui parle de ça. Comment ils ont pensé le nouveau système de template ? Le arrobase if, arrobase else, arrobase for, arrobase defer, c'est en lien avec toute cette mise à jour aussi. donc clairement on va arriver à ça et le deuxième point qui est quand même le plus important qui fait jaser une partie de la communauté Angular et qui rassure et qui plaît à toute l'autre partie c'est toujours pareil, il y a toujours des aficionados et aficionadas des deux, et bien c'est donc l'arrivée des signoles components, ce qu'on appelle les signoles, qui va nous permettre de travailler sans la zone, et je vous remontrerai encore je fais pas mal de live twitch là dessus j'en ferai un demain après-midi d'ailleurs si vous suivez cet épisode de... au 29 avril, il y a cette volonté de travailler sur le signal et montrer à quel point ça fonctionne. Angular 18 arrive dans un mois, moins d'un mois maintenant. On va se préparer là-dessus. On est vraiment sur cette idée de zone less. Signal et zone less. Waouh ! C'est un nouveau système qu'on appelle Hybrid Change Detection. Après, zone less, change detection. Cette idée, c'est de travailler en dehors de la zone. On va pouvoir travailler avec le Mark for Check. on va pouvoir travailler tout ce qu'on connaissait, mais vraiment sans la zone. Et ça, c'est extraordinaire. Donc, la toute dernière, la 18, la 17-3, amène cette idée-là. Et waouh ! C'est parti. Donc, ça y est, Angular est vraiment en train d'amener un coup de fouet. Enfin ! Enfin ! À tout ce qui est souhaité depuis longtemps d'Angular. Comme je disais, il y a une partie des personnes qui disent Attendez, Angular de base, il y a Angular 2 quand il est apparu, même AngularJS. C'était de se dire que tout était automatisé. Tout était automatisé, c'était leur force de vente en fait. Et même leur marque de fabrique. Ouais, mais ça c'est bien pour des petites applis. On a vite remarqué que c'est bien pour des petites applis, oui vraiment. Et après, on va trouver plutôt des techniques pour, avec le OnPush, c'était la première technique, puis après le Change Detector Ref, pour essayer de casser tout ça, parce que autrement, ça devenait vite un bordel monstrueux pour gérer toutes les mises à jour des Detect Changes. OK ? Donc voilà. Et enfin, on va parler du coup de quoi ? Des nouveautés de... La dotnet 9, alors là on est encore sur les prémices, mais voilà ce qui est mis sur la doc au 13 mars dernier, c'est vrai que je n'avais pas fait d'épisode là-dessus. Le successeur de dotnet 8 met l'accent sur les applications. native cloud. Donc, ça fait jaser, parce qu'ils se disent, oui, à quoi ça sert ? Il y a déjà pas mal de choses qui ont été faites, mais non, ils vont rajouter des fonctionnalités par rapport à ça. Alors, qu'est-ce qu'on peut voir là-dessus ? Ils vont travailler sur les performances, ils vont travailler sur la sérialisation, sur JSON sérialisation. Sur LinkView, ils vont rajouter countBy et aggregateBy, par exemple. Il y avait aussi des améliorations sur gourby qui avaient été faites. Voilà donc pareil je ferai des exemples très bientôt là dessus. On va travailler sur tout ce qui est que sur collection pour améliorer ça. On a aussi toute une partie sur le chiffrement one shot de hachage. Ils appellent ça le cryptographic operation. C'est des classes qui utilisent l'algorithme KMake si vous connaissez. Moi je m'y connais peu sur cette partie là. Je maîtrise les fondamentaux de la sécurité mais je ne pousse pas très loin hélas sur cette partie là. Je fais appel à des experts là-dessus. On a vraiment toute une partie de travail statique one-shot sur encore renforcer la sécurité. Et oui, c'est toute la partie cloud aussi. Donc voilà, on est vraiment sur cette volonté-là. Il y a une nouvelle implémentation persistante d'Assembly Builder qui permet de créer toute une partie de gestion de l'assembly aussi en cours et de l'amélioration comme d'habitude sur les performances. Ils accélèrent, intègrent les améliorations apportées par exemple au créateur JIT que vous connaissez peut-être 64 bits. Et ce qui est bien, donc c'est une question aussi... C'est quelque chose qui est en cours de travail. Ils améliorent encore l'AOT. Si vous n'avez pas suivi l'AOT, sachez que c'est toute cette partie où on rajoute du code pour détecter en amont de la génération du code, donc au moment de la compilation, on va rajouter dès qu'on sait sur quelle machine on est, on peut rajouter, on peut détecter des ifs, éviter de les gérer, etc. Tout pour accélérer l'exécution. Et ça, c'est super intéressant. Sur Générateur, il y a les prémices de ça. Et puis ils optimisent aussi les boucles. Donc ça c'est un travail sur la détection de génération de code pour les boucles. C'est exactement dans cette idée là, sur ce compilateur là. Donc le native AOT a été amélioré dans ce sens là. Et même des optimisations PGO, donc toute la partie profil dynamique. Et donc c'est en cours d'amélioration encore depuis la dotnet 8. Et validé. Voilà donc on est sur une phase de maturation, une phase d'amélioration. et clone native, donc on a hâte de voir les nouveautés. Il y a ASP.NET Core 9 aussi qui arrive, qui va arriver bien sûr en.NET 9. On est en.NET 9 Preview 3. Donc il y a l'injection de constructeurs, ça, ça va être intéressant à regarder. Moi, je vais regarder tout ça dans les prochaines semaines. On a Blazor qui est amélioré. Les mises à jour aussi sur le signaleur avec prise en charge de type polymorphes par exemple, si on veut gérer le polymorphisme. Voilà et puis toute la partie API minimal si on veut travailler ça dans Web API. Voilà et puis c'est tout grosso modo. Les mises à jour, donc c'est pas énorme mais toujours pareil ça va améliorer la performance, ça va améliorer le débogage, voilà des choses comme ça où c'est un peu plus confortable. Il y a Signalier comme je disais et puis vous avez maui qui va toujours être amélioré en dotnet 9. Ici qu'est-ce qu'on va prendre ? Toute la partie mise à jour d'android, c'est toujours normal et la mise à jour de commande de iOS mais il n'y a pas encore de grandes nouveautés annoncées. là-dessus. Voilà sur la mise à jour. Eh bien, ça nous promet des belles sources de tests, de présentations. J'ai hâte de vous présenter tout ça à travers des live Twitch, des vidéos YouTube et de nouveau sur d'autres épisodes de notre podcast. Merci de m'avoir écouté. D'ici là, codez bien. Je vous dis à très vite pour d'autres veilles ou d'autres infos ou réflexions autour de notre beau métier de développeur, de développeuse. Allez, ciao !
Share
Embed
You may also like