Angular
Enterprise
./assets/drawing/angular-courses-rxjs.svg

Apprenez à utiliser RxJS avec Angular

Pour être à l’aise en tant que développeur Angular il est important d’avoir au préalable compris les bases de la programmation réactive et de la programmation fonctionnelle. C’est en fait l’association de ces deux concepts qui devient légèrement plus compliqué à assimiler pour un nouveau développeur sans expérience. En effet le concept de programmation réactive fonctionnelle doit être compris et utilisé le plus possible afin de développer des applications de qualité, robuste, maintenable et testable. Voyons donc ce qu’est la programmation fonctionnelle en reprenant les deux concepts un après l’autre :

  • Reactive est le fait d’utiliser une librairie Reactive (RxJS) pour traiter, combiner, transformer les données et évènements via un flux et donc de manière asynchrone.
  • Fonctionnelle est le fait de développer la logique en combinant des fonctions pures afin d’éviter d’avoir un état partagé, des objets mutés et des effets de bords.

RxJS: Définitions

  • Observable: c'est le flux de données. Il représente l'idée d'une collection invocable de valeurs ou d'événements futurs.
  • Observer: est un ensemble de jusqu'à 3 callbacks (next, error, complete) qui sait écouter les valeurs délivrées par l'Observable.
  • Subscription: représente l'exécution d'un observable, est principalement utile pour démarrer l'exécution en cas d'observable à froid et pour annuler l'exécution en cas d'observable à chaud.
  • Opérateurs: sont des fonctions pures qui permettent un style de programmation fonctionnel de traiter des collections avec des opérations telles que map, filter, concat, flatMap, etc.
  • Subject: est l'équivalent d'un EventEmitter, et le seul moyen de multidiffuser une valeur ou un événement à plusieurs observateurs.
  • Schedulers: sont des répartiteurs centralisés pour contrôler la concurrence, ce qui nous permet de coordonner le moment du calcul, par exemple. setTimeout ou requestAnimationFrame ou autres.

En apprendre plus sur Angular

Design patterns à connaître dans le développement angular .