Très bonne introduction aux signaux 🙂. Exemple concret qui permet de se projeter facilement dans un cas plus personnel. Le chapitrage est le bienvenue ;).
Bonjour. Merci pour la vidéo. Je trouve Angular intéressant mais beaucoup trop lourd. Pourquoi selon toi choisir Angular au lieu d'utiliser des librairies légères et très performantes comme Htmx ? Cordialement.
Les deux ne me semblent pas comparables : contrairement à Htmx, Angular est un framework complet te proposant de nombreuses fonctionnalités supplémentaires. De plus, lorsque tu choisis une technologie pour démarrer un nouveau projet, il faut également t’assurer qu’il y ait une forte communauté derrière pour t’assurer que tu trouveras des ressources lorsque tu rencontreras des difficultés, ce dont dispose Angular. C’est une question intéressante mais qui sort du cadre de cette vidéo, si tu veux plus d’infos je t’invite à me suivre ou à consulter d’autres ressources à ce sujet. À bientôt !
Pas du tout convaincu par l'utilité des signal, d'ailleurs je sais toujours pas ce que c'est vraiment, comment on implémente ce pattern ? Et ce vraiment un pattern ? Et peux l'utiliser en dehors du composant ?
Il ne s’agit pas d’un pattern, mais d’un type de données que tu peux réutiliser partout dans ton application (ex: dans un composant, un service, un state, …) Tu peux ensuite accéder à cette donnée n’importe quand, elle sera mise à jour automatiquement lorsqu’une nouvelle valeur sera émise, comme un observable mais ça peut être plus simple à utiliser. À noter que si tu souhaites appliquer des traitements plus complexes par la suite et utiliser les opériez RxJS, tu peux la transformer en observable via la fonction toObservable et retransformer l’observable en signal avec la fonction toSignal. Est-ce que tu y vois un peu plus clair ?
@@ArthurLannelucq j'ai regardé ce qu'il y a derriere le type Signal est un Provider "()=> T " et la function signal return a WritableSignal qui est une interface avec les method set update mutate qui prennent les fnMutate/update de type (value:T)=> void; donc y'a quand meme un bout de pattern derriere. J'ai pas trouvé d'implementation par default de WritableSignal
J’ai mal compris ta question, je pensais que tu parlais d’un design pattern. Le concept de Signal n’est pas propre à Angular, et tu le retrouve par exemple dans SolidJS ou Preact, mais même si la logique derrière ce type est la même, chaque framework/librairie a sa propre implémentation pour répondre à ses propres besoins. Dans le cadre d’Angular, les deux principaux avantages d’utiliser les Signals sont de : * Simplifier la réactivité au sein du framework pour des cas simples (tout en laissant la possibilité de les coupler aux observables si tu as besoin) * Améliorer la performance lors de la détection de changements gérée par Angular car il sera en mesure de mettre à jour uniquement les composants dont les Signals auront émis une nouvelle valeur plutôt que de parcourir tout l’arbre de composant et contrôler pour chaque élément s’il y a eu une modification ou non
@@ArthurLannelucq Je ne suis pas sur d'avoir la meme definition de ce qu'est un design pattern, je sais que les signal ne sont pas typique d'Angular, c'est comme rxjs par exemple les Subject implement le design pattern que l'on appel Observer en conception logicielle, les signal de ce que j'ai vu y'a une interface et une mecanique de function de mutation donc forcement c'est un pattern et c'est ça qui m'interesse, comment on implémente ce pattern (comment on fais un signal from scratch)
Une vidéo d'une excellente qualité ! C'est ludique, synthétique et bien montée. Félicitions et merci beaucoup !
Merci pour ton commentaire ! 😁
Présentation bien claire pour aborder ce sujet, merci
Merci pour ton retour !
Très prometteur !
Exactement, 2023 est une très bonne année pour redonner sa chance à Angular !
Très bonne introduction aux signaux 🙂. Exemple concret qui permet de se projeter facilement dans un cas plus personnel. Le chapitrage est le bienvenue ;).
Merci pour tes explications et ton exemple concret !
merci
super vidéo, merci
Merci pour ton commentaire ! 😁
salut tu peux me dire c'est quoi ton extension ou settings vscode pour afficher les types implicit directement stp
Hello, je n’utilise aucune extension, c’est une fonctionnalité proposée par défaut dans IntelliJ !
merciii !@@ArthurLannelucq
Bonjour. Merci pour la vidéo. Je trouve Angular intéressant mais beaucoup trop lourd. Pourquoi selon toi choisir Angular au lieu d'utiliser des librairies légères et très performantes comme Htmx ?
Cordialement.
Les deux ne me semblent pas comparables : contrairement à Htmx, Angular est un framework complet te proposant de nombreuses fonctionnalités supplémentaires.
De plus, lorsque tu choisis une technologie pour démarrer un nouveau projet, il faut également t’assurer qu’il y ait une forte communauté derrière pour t’assurer que tu trouveras des ressources lorsque tu rencontreras des difficultés, ce dont dispose Angular.
C’est une question intéressante mais qui sort du cadre de cette vidéo, si tu veux plus d’infos je t’invite à me suivre ou à consulter d’autres ressources à ce sujet.
À bientôt !
Pas du tout convaincu par l'utilité des signal, d'ailleurs je sais toujours pas ce que c'est vraiment, comment on implémente ce pattern ? Et ce vraiment un pattern ? Et peux l'utiliser en dehors du composant ?
Il ne s’agit pas d’un pattern, mais d’un type de données que tu peux réutiliser partout dans ton application (ex: dans un composant, un service, un state, …)
Tu peux ensuite accéder à cette donnée n’importe quand, elle sera mise à jour automatiquement lorsqu’une nouvelle valeur sera émise, comme un observable mais ça peut être plus simple à utiliser.
À noter que si tu souhaites appliquer des traitements plus complexes par la suite et utiliser les opériez RxJS, tu peux la transformer en observable via la fonction toObservable et retransformer l’observable en signal avec la fonction toSignal.
Est-ce que tu y vois un peu plus clair ?
@@ArthurLannelucq j'ai regardé ce qu'il y a derriere le type Signal est un Provider "()=> T " et la function signal return a WritableSignal qui est une interface avec les method set update mutate qui prennent les fnMutate/update de type (value:T)=> void; donc y'a quand meme un bout de pattern derriere. J'ai pas trouvé d'implementation par default de WritableSignal
J’ai mal compris ta question, je pensais que tu parlais d’un design pattern.
Le concept de Signal n’est pas propre à Angular, et tu le retrouve par exemple dans SolidJS ou Preact, mais même si la logique derrière ce type est la même, chaque framework/librairie a sa propre implémentation pour répondre à ses propres besoins.
Dans le cadre d’Angular, les deux principaux avantages d’utiliser les Signals sont de :
* Simplifier la réactivité au sein du framework pour des cas simples (tout en laissant la possibilité de les coupler aux observables si tu as besoin)
* Améliorer la performance lors de la détection de changements gérée par Angular car il sera en mesure de mettre à jour uniquement les composants dont les Signals auront émis une nouvelle valeur plutôt que de parcourir tout l’arbre de composant et contrôler pour chaque élément s’il y a eu une modification ou non
@@ArthurLannelucq Je ne suis pas sur d'avoir la meme definition de ce qu'est un design pattern, je sais que les signal ne sont pas typique d'Angular, c'est comme rxjs par exemple les Subject implement le design pattern que l'on appel Observer en conception logicielle, les signal de ce que j'ai vu y'a une interface et une mecanique de function de mutation donc forcement c'est un pattern et c'est ça qui m'interesse, comment on implémente ce pattern (comment on fais un signal from scratch)
Je viens de tomber sur cet article qui peut répondre à ta question : frontendmasters.com/blog/vanilla-javascript-reactivity/ 😉
Merci
Merci pour ton commentaire, j’espère que la vidéo t’a été utile ! 😁