Objectifs pédagogiques
- Utiliser le paradigme fonctionnel dans la programmation d'évènements asynchrones
- Utiliser la programmation réactive au travers de la librairie RxJS en utilisant les patterns principaux
- Décrire la librairie RxJS au sein d'un browser ou sur le serveur avec Node.js.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir une connaissance pratique de JavaScript 2015 mini (ES6).
Public concerné
Tout professionnel amené à développer des applications qui utilisent la programmation réactive, notamment avec RxJS.
Programme
Jour 1
Introduction
- Raison d'être de la programmation réactive
- Ce qu'elle facilite
- Les différentes librairies actuelles
La programmation réactive et RxJS
- Comment réagir aux flux de données asynchrones ?
- Penser réactif
- Le codage en réactif
- Présentation du Design Pattern Observer
- Les observables en RxJS
- La méthode create() d'Observer
- Les fonctions next(), error(), complete() d'Observer
- Utilisation du pattern Observer dans le cas d'un Event Listener, d'une requête API, d'un WebSocket
- Réagir à la source de données avec subscribe()
Exemple de travaux pratiques (à titre indicatif)
- Mise en oeuvre, en JavaScript, d'un Observable / Observer, abonnement, gestion d'erreur
Jour 2
Présentation des opérateurs
- Présentation des opérateurs dans la programmation fonctionnelle
- L'opérateur scan et map : l'application de transformations
- L'opérateur filter
- L'opérateur concat et la combinaison des observables
- Les opérateurs last et first
Exemple de travaux pratiques (à titre indicatif)
- Application des opérateurs en reprenant l'exercice précédent
Le multicasting dans RxJS
- Présentation des observables multicast
- La fonction multicast
- Partage entre plusieurs souscripteurs
Exemple de travaux pratiques (à titre indicatif)
- Mise en oeuvre d'un exemple d'observable multicast
Mise en oeuvre de RxJS côté client
- Accès aux structures de la page HTML
- Accès au serveur
Mise en oeuvre de RxJS côté serveur
- Observables du côté serveur avec Node.js
- Accès aux fonctions réseau
- Traitement des données du client
Exemple de travaux pratiques (à titre indicatif)
- Réalisation d'une application comportant un client Web et un serveur Node.js intégrant des deux côtés les objets RxJS
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation