Développement web - Frontend

RxJS, les fondamentaux de la programmation réactive

Objectifs de la formation

  • Comprendre les principes de la programmation réactive
  • Maîtriser les observables et les souscriptions
  • Concevoir un pipeline d’opérateurs pour orchestrer ou manipuler un flux de données asynchrones
  • Choisir la bonne stratégie pour gérer les concurrences d’opérations asynchrones


Programme de la formation

Introduction à RxJS

  • Le paradigme de programmation réactive.
  • Histoire du projet ReactiveX.
  • Présentation de la librairie RxJS.
  • Les concepts d’observable, d’observer, de souscription et d’opérateurs.
  • Mise en œuvre dans les projets front et back.

Travaux pratiques

Mise en place d’un environnement d’exercices (Node.js).

Les fondamentaux de RxJS

  • Présentation du Design Pattern Observer.
  • Création d’observables manuellement ou à partir de données.
  • Encapsulation de fonctionnalités asynchrones natives dans un observable.
  • Observation d’un observable.
  • Gestion des souscriptions aux observables.

Travaux pratiques

Création de différents observables manuels ou s’appuyant sur des données ou des fonctionnalités du navigateur.

Les opérateurs, manipulation des flux de données

  • Le principe de pipeline d’opérateurs.
  • Les marble diagrams.
  • Les opérateurs de filtrage.
  • Les opérateurs conditionnels.
  • Les opérateurs de transformation.
  • Les opérateurs d’agrégation.
  • Les opérateurs utilitaires.
  • Créer ses propres opérateurs.

Travaux pratiques

Mise en place de pipelines simples et composés pour manipuler les séquences de données.

Les observables "chauds" (ou "hot observables")

  • Différences avec un observable "froid".
  • Les fonctions et opérateurs de transformation d’un observable "froid" en "chaud".
  • Les sujets et le multicasting.

Travaux pratiques

Mise en œuvre d’observable ayant plusieurs observateurs.

Transformations d’observables

  • Combinaison d’observables.
  • Partition d’observables.

Travaux pratiques

Expérimentation des combinaisons et partitions d’observable.

Les observables d’ordre 2

  • La problématique des observables d’observables.
  • La stratégie de gestion en parallèle.
  • La stratégie de mise en file d’attente.
  • La stratégie de basculement.
  • La stratégie d’ignorance.
  • Choisir la bonne stratégie en fonction du besoin.

Travaux pratiques

Gestion d’appels API concurrents en réponse à des événements navigateurs.

La gestion des erreurs

  • Arrêter, réessayer son opération asynchrone ou basculer vers une nouvelle opération asynchrone.
  • Gérer les erreurs transitoires dans le cadre d’un observable d’ordre 2.

Travaux pratiques

Gestion des erreurs sur différents scénarios.

Tester son code avec RxJS

  • Présentation du TestScheduler.
  • Les fonctions d’aide (génération d’observables, tests d’observables...).
  • Les syntaxes figuratives (observables, souscriptions, temps…).

Travaux pratiques

Réalisations de tests d’observables suivant différents scénarios.

Please login to get access to the quiz
Création d’applications mobiles multi plates-formes avec PhoneGap (Prev Lesson)
Back to Développement web – Frontend