Angular 16 - Les signaux / signals - bye bye zone.js ?

Поделиться
HTML-код
  • Опубликовано: 4 дек 2024

Комментарии • 15

  • @mackas33
    @mackas33 Год назад +5

    J’utilise react, mais angular m’intéresse de plus en plus
    Merci pour la vidéo

    • @SimpleTechProd
      @SimpleTechProd  Год назад +1

      Merci à toi de continuer à suivre mes vidéos ! :)

  • @Gyver4000
    @Gyver4000 Год назад +2

    Merci pour ce tuto’ je vais tester ça rapidement

  • @newte560
    @newte560 Год назад +3

    Merci pour la vidéo très agréable à suivre.
    Je ne serais pas contre des vidéo sur NgRX et sur la nouvelle façon de configurer une appli Angular avec les composant standalone😇

    • @SimpleTechProd
      @SimpleTechProd  Год назад

      Merci pour ce commentaire très motivant et pour les idées pour les prochaines vidéos. Je prend note! A bientôt.

  • @aulo525
    @aulo525 Год назад +1

    Tuto rapide et efficace, merci ! En revanche je me demande en quoi les signaux améliorent les performances. Ça ne pose pas de problème de passer un appel à une fonction dans les ngModel ? Angular ne va pas exécuter cette fonction très souvent pour maj le template ?

    • @SimpleTechProd
      @SimpleTechProd  Год назад +1

      La grosse différence entre les signaux et zone.js, est que zone.js va vérifier chaque état de chaque composant/variable à chaque fois que quelque chose change dans l'application (par example l'utilisateur click sur qqch). Alors que si on a uniquement des signaux, Angular va savoir ou les signaux sont utilisés et seulement mettre à jours ces parties de l'application.
      Pour ce qui est de faire appel à une fonction dans ngModel, les signaux sont un cas particulier qui sont fait pour ça. Mais effectivement attention à ne pas utiliser une fonction arbitraire dans les templates car cela pourra provoquer des détections de changements en permanence.

    • @massinissa.bitous
      @massinissa.bitous Год назад

      ​@@SimpleTechProd Est ce que tu n'oublierais pas quelque chose dans ta vidéo ? mettre tes composants OnPush.
      Parce que pour moi, ce que tu as développé fonctionnerait très bien sans les signaux, qui rajoutent une certaine complexité, car angular détecte automatiquement tous les les changements. Mais une fois que tu passes tes composants en OnPush, là la détection de changement ne se fait plus automatiquement, et donc, en passant avec des signaux, angular détectera les changements, un peu comme avec les observables... Au final, ce n'est pas réellement les signaux qui te font gagner en performance, mais le fait de mettre tes composants en OnPush, mais en faisant cela, Angular ne fera plus aucune détection de changement, et donc, il faut utiliser les observables, ou le nouveau jouet, les signaux. Doooonc, les composants que tu as créé, vu qu'ils sont pas OnPush, ne sont pas optimisés en terme de performances, car ils ne sont pas OnPush, donc tu t'embêtes avec des signaux pour rien
      Par ailleurs, étant donné que tous tes éléments sont dans un seul composant, pour les deux exemples, il me semble que cela fonctionnera bien sans signaux et en mettant les composant en OnPush aussi. C'est au moment ou tu vas avoir des composants qui communiquent, via des inputs ou un service par exemple, que tu auras du mal à détecter les changements, et donc intérêt à utiliser les signaux..
      Ou bien je n'ai rien compris ??? 😅

    • @massinissa.bitous
      @massinissa.bitous Год назад

      ​Sinon, la vidéo est top ! :) merci pour l'explication de ces nouvelles primitives ! :)

    • @SimpleTechProd
      @SimpleTechProd  Год назад +2

      @@massinissa.bitous Salut en faite comme je l'expliquait dans la vidéo aujourd'hui les signaux sont encore au tout début de ce que l'équipe Angular prévoit de faire. Le but à terme est de se débarrasser de zone.js et de faire en sorte que meme seul les morceaux des composants qui sont réellement impactés par un changement soient rafraichi, ça va donc même plus loin que OnPush. Donc effectivement aujourd'hui comme on utilise encore zone.js, rien ne change niveau détection de changements, mais à terme ce même code va permettre à Angular d'être beaucoup plus efficace dans la détection de changements.
      Après je te donne absolument raison: avec OnPush tu peux déjà optimiser la détection des changements, mais là aussi c'est indépendamment des signaux. Bien que les signaux soient compatible avec OnPush.
      Et merci pour ton commentaire super complet et très interessant!

    • @massinissa.bitous
      @massinissa.bitous Год назад

      @@SimpleTechProd merci pour ta réponse ! Je comprends mieux, c'est top ça, ça promet alors pour avoir des applis angular hyper rapide a l'avenir 🚀
      Par contre pas fan de leur façon de faire, de te sortir un truc a moitié fini, du coup tu sais pas quoi faire, commencer a les utiliser pour se faire la main et préparer l'avenir, en sachant que ça sert a rien aujourd'hui ? Ou attendre pour tout migrer quand ils sortiront la suite de leurs idées, ce sera long...

  • @fredericlossignol3874
    @fredericlossignol3874 Год назад +1

    Mais finalemement, est-ce qu a terme ce devient un remplaçant de rxjs ? Parce que "tenir au courant des chanememt" on le fait deja avec des observable et des subjects. Quelle difference, a par le fait qu on parle de "flux de data" avec rxjs.

    • @Creativeetea
      @Creativeetea Год назад +1

      C'est assez limité, quand tu as des données/comportement complexe, rxjs reste roi.

    • @SimpleTechProd
      @SimpleTechProd  Год назад

      Je suis d'accord. Aujourd'hui les signaux apportent un bel ajout à Angular et j'ai hâte de voir jusqu'ou les nouvelles versions d'angular iront, mais pour l'instant rxjs va beaucoup plus loin que les signaux. En revanche ce changement est bienvenu et pour des cas plus simples je les utilise déjà en production.