On ne peut plus aujourd'hui négliger la puissance de la programmation réactive dans le développement des applications modernes, notamment les SPA (Single Page Applications). RxJS est une puissante bibliothèque JavaScript permettant de réaliser la programmation réactive. L'objectif de ce talk est de vous apporter les fondamentaux pour tirer pleinement parti de la puissance de RxJS.
36 RSVP'd
Ce talk, c'est l'initiation à RxJS que vous avez peut-être ratez quand vous avez débuté avec RxJS. L'objectif est de vous redonner le contrôle.
On ne peut plus aujourd'hui négliger la puissance de la programmation réactive dans le développement des applications modernes, notamment les applications à page unique (Single Page Application).
RxJS (Reactive Extensions for JavaScript) est une bibliothèque JavaScript permettant la programmation réactive. Il existe même des travaux en cours par TC39 pour intégrer tous les concepts que cette bibliothèque apporte par défaut dans le langage JavaScript.
Malheureusement, pour tirer pleinement parti de la puissance de RxJS dans nos applications, que ce soit côté serveur ou côté client, il faut une bonne connaissance des fondamentaux de la programmation réactive, de certains concepts de RxJS et également des opérateurs (et il y en a beaucoup, c'est vrai).
RxJS est intégré par défaut dans Angular, ce qui reste l'un des obstacles pour certains développeurs à l'adoption de ce framework en raison de sa courbe d'apprentissage jugée abrupte par la plupart. Le constat est que beaucoup de développeurs qui utilisent même Angular ne maîtrisent pas forcément bien RxJS, ce qui conduit souvent à une mauvaise utilisation des opérateurs, à une mauvaise gestion des erreurs, voire à des anti-patterns comme les souscription imbriquées (Nested Subscription).
Mais compte tenu de sa puissance, il serait dommage de ne pas profiter pleinement de cette bibliothèque et de se limiter à son utilisation pour des opérations basiques telles que la souscription à un observable pour simplement consommer les valeurs émises.
Dans ce talk, je vous démystifierai RxJS en repartant de zéro. Du pattern observateur aux Subject, en passant par les opérateurs de projection et de combinaison ainsi que les observables de haut niveau (Higher-order Observables). L'objectif est de vous redonner le contrôle sur cette bibliothèque afin de profiter pleinement de sa puissance.
Après ce talk, la programmation réactive et RxJS n'auront plus de secrets pour vous.
Nous commencerons par les notions de base (Observable, Observer, Subscription, Subject) avant de vous faire découvrir quelques opérateurs (création, projection, combinaison, observables de haut niveau) qui vous seront utiles au quotidien.
Ce sera une session de clarification des concepts à travers du live coding pour vous montrer la place et l'utilité de chaque élément du puzzle. Je montrerai également comment combiner les différents opérateurs RxJS pour résoudre facilement des problèmes courants dans les applications que nous développons, comme par exemple :
- Les race conditions (qui affectent de nombreuses applications React), par exemple lors d'une recherche en temps réel via un champ de recherche, ne considérer que la dernière valeur saisie pendant que l'utilisateur tape dans la zone de recherche, annuler toutes les requêtes précédentes et ne prendre que la dernière.
- Effectuer un nombre défini de tentatives d'une requête lorsque la première échoue avant de considérer qu'un serveur ne répond pas.
- Combinaison des résultats de deux ou plusieurs requêtes pour effectuer une autre requête.
- S'assurer que les résultats de deux ou plusieurs requêtes sont exécutés dans le bon ordre.
- Effectuer une action récurrente uniquement lorsque des conditions spécifiques sont vérifiées.
- Effectuer une action récurrente jusqu'à ce que des conditions spécifiques soient vérifiées.
Pour certains exemples avancés, j'utiliserai Angular qui repose en coulisses sur cette bibliothèque pour la gestion des formulaires, son système de routage et la réalisation des requêtes HTTP. Mais il est à noter que les connaissances que vous acquerrez grâce à ce talk vous seront utiles quel que soit le framework (Angular, React, Vue) et lorsque vous développerez des bibliothèques en utilisant ce paradigme de programmation, que ce soit côté serveur ou côté client.
En bref, votre seule limite sera votre imagination.
Vous n'avez besoin d'aucun prérequis pour suivre ce talk, si ce n'est une connaissance basique de JavaScript.
Comme vous le verrez après ce talk, la programmation réactive n'est pas aussi difficile qu'elle n'y paraît, il vous manquait simplement une bonne explication des concepts de base et des exemples pratiques concrets pour comprendre l'utilité des différents opérateurs et en apprendre de nouveaux de manière autonome.
Tuesday, July 2, 2024
4:30 PM – 6:45 PM UTC
Ouverture des portes |
Présentation |
Talk RXJS |
Q/A |
Networking |
Contact Us