Des ressources et tutos pour bien démarrer avec la programmation Reactive
Vous souhaitez mettre votre solution en avant en haut de cet article ? Contactez-nous
Le Functionnal Reactive Programming (FRP), qu'est-ce que c'est ?
Cette question très simple nous amène à une réponse malheureusement très longue et complexe, je vais donc essayer de la résumer en quelques mots : la programmation réactive est une manière de déclarer des flux de donnes asynchrones, les filtrer et les lier entre eux ou a des séries d'événements.
La beauté de ce système est que de cette manière tout devient un flux "indifférencié". Que ce soit le clic sur un bouton, un changement sur une API ou une base de données, tout ne se résume qu'a sa plus simple expression : un flux d'informations.
De cette manière, il est extrêmement simple de traiter des données venant de nombreuses sources différentes et les lier très simplement à une interface sans s'embourber dans un spaghetti d’événements et interdépendances.
Quelques ressources pour comprendre et apprendre
Le gros souci de la FRP est qu'il n'est vraiment pas simple à appréhender, car très different de ce que nos habitudes : au lieu d'events nous devons manipuler des streams, et le tout de manière "fonctionnelle".
Pour vous aider à entrer dans ce monde, je vous conseille de lire les quelques ressources suivantes (en anglais malheureusement) puis de commencer doucement avec les divers tutoriaux des libraries que vous trouverez à la suite de cet article. Les libraries de datèrent-binding par exemple, sont une assez bonne introduction à mon avis au concept de FRP.
Je vous conseille tout particulièrement la première ressource présentée, qui est sans aucun doute la meilleure introduction à la FPR que j'ai pu trouver, et qui vous fera gagner beaucoup de temps.
The introduction to Reactive Programming you've been missing (by @andrestaltz)
Reactive Programming in JavaScript (By: Sebastiaan Visser)
Le langage ELM, une bonne introduction au FRP
Quelques ressources en Javascript pour l'utiliser dans vos projets
Radioactive
Radioactive est un peu spéciale quand on le compare aux deux suivants dans le sens ou il amené le FPR au niveau du langage même. Cela nous permet de n'avoir à utiliser que du Javascript "natif" est en fait donc selon moi une porte d'entree un peu plus simple que les autres. Ne vous leurrez pas, il s'ent pas simple à appréhender pour autant, mais l'apprentissage est simplifié par un tutorial très complet.
ReactiveX
Bacon
Rivets
Bien que ce soit un peu simpliste, je considère les systèmes de data-binding comme faisant partie du FPR : Les vues s'adaptent de manière réactive au changement de données à condition que ces mêmes changements soient propagés à travers un flux d’événements. Pour cette raison, je vous ai ajouté deux ressources pour faire du data-binding. Si vous êtes a la recherche de plus d'informations sur Rivets et le Data-binding en général, j'ai déjà fait un article dédié à ce sujet : Liez votre HTML et vos données grâce au data-binding et Rivets JS !
Ractive