IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Programmation Réactive Fonctionnelle: RxJS


Sujet :

Contribuez

  1. #1
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut Programmation Réactive Fonctionnelle: RxJS
    Salut à tous,

    Je vous présente ma dernière formation autour de la programmation réactive fonctionnel et plus particulièrement de RxJS.
    Dans cette partie théorique on introduit des sujets tels que :
    -Différence de programmation (Imperative vs Declarative)
    -Programmation Fonctionnelle (Function First Class Citizen - High Order Function - Immutable Data - Pure Function - Recursion - Functor - Monad - Lazy Evaluation)
    -Programmation Réactive
    -Deux Patron de Conception issue de la programmation Orientée Objet
    -Flux de données Unidirectionnel
    Tout ceci permet de comprendre les bases internes de la bibliothèque RxJS indispensables pour la suite.



    Github correspondant : https://github.com/GuillaumeUnice/RxJSTutorial

    Tout retour est le bienvenu

  2. #2
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Hello everybody,

    On continue avec la dernière partie purement théorique présentant en détail ce qui constitue un stream de bout en bout: des Observables constituant ensemble un pipeline débouchant sur des Observers.

    Nous détaillerons les concepts fondamentaux: unidrectional data flow, de separation of concern & pure function.

    Enfin, nous nous focaliserons sur l'API de la bibliothèque RxJS de Reactive.X pour avoir un première aperçu sur comment développer un stream.


    J'ai été ravie de pouvoir enregistrer tout cela j'espère que cela se ressent. Je vous laisse en bonne compagnie et vous dit à dans deux semaines pour la prochaine vidéo portant sur les Observables Operators.



    Slides correspondantes

  3. #3
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Hola le monde,

    Cette semaine on prend le temps d'intérioriser ce que l'on a vu avec une vidéo beaucoup plus légère néanmoins on se doit de faire un rapide point sur ce que sont les Marble Diagrams et comment on lit ce type de diagramme idéal pour décrire les opérateurs RxJS et plus largement de programmation réactive:

    Bonne vidéo



    Slides correspondantes

  4. #4
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Hallo every,

    Aujourd'hui, on poursuit notre étude RxJS où l'on décortique ce qu'est un Observable Operator.
    On abordera ici le fonctionnement commun à tous. On prendra le temps dans les prochaines vidéos de faire un focus sur chacun des types existant d'Observable Operator (Creation, Filtering, combination, transformation etc.).

    On va ensuite concrètement expliciter les principaux opérateurs simple bijection avec le fameux MFR => Map, Filter, Reduce que possède nativement les array JavaScript.

    Enfin, on utilisera ces méthodes dans deux petits exercices de recherche de caractère dans un texte.
    Tout ceci dans le but d'appliquer et de comprendre la pensée fonctionnelle.
    En effet, le raisonnement fonctionnel n'est pas forcément intuitif selon son background, il est donc impératif de l'appréhender un tant soit peu avant d'utiliser des bibliothèques fonctionnelles réactives telles que RxJS ici.

    Comme toujours j'ai pris un plaisir fou à enregistrer cette vidéo, je vous laisse avec celle-ci



    Slides correspondantes

  5. #5
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Hallo every,

    On poursuit avec l'étude d'une catégorie d'Observable Operator indispensable pour "Rxfié" nos applications *drum rolls* ... les Creator Operator!
    Bah oui c'est les opérateurs qui seront nos points d'entrées dans la bibliothèque RxJS.

    Nous commencerons par les présenter vous verrez ils ne sont pas nombreux et assez intuitifs.
    Ensuite nous les illustrerons un à un.
    Et enfin deux petits exercices qui permettront d'avoir une vue de bout en bout quant au raisonnement et la philosophie présentée jusqu'ici.

    Et oui on a fait du chemin depuis le début de cette formation, il est temps nous sommes prêts et suffisamment armé pour commencer à manier la bibliothèque.

    Certes, il nous reste encore pas mal de nouvelle catégorie à présenter que je garde pour la prochaine fois où l'on abordera les filtering operators

    Allez la vidéo, à bientôt



    Slides correspondantes

  6. #6
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Moin moin,

    Filtrer en voilà une opération essentielle à toutes applications. C'est pourquoi nous allons commencer par ces opérateurs après avoir étudiés les Creator Operators
    La bibliothèque RxJS, nous propose une panoplie de filtre qui vont nous permettre de régler tous les cas.

    Nous verrons notamment que le temps peut être considérer comme un simple prédicat de filtre, en voilà un autre intérêt de la programmation réactive fonctionnelle pour résoudre nos de délai, ce qui pouvez très rapidement devenir casse-tête en plain JavaScript.

    Enjoy



    Slides correspondantes

    La prochaine fois nous étudierons les Opérateurs de Combinaison ceci sur trois différentes vidéos car oui combiné va nous permettre d'obtenir des stream contenant une business logique avancée et sans complexifié. Oubliez les noeuds d'asynchronisme qui nous bloque l'application, les streams vont nous permettre de nous rendre d'un point A à un point B avec une containte minimal. Mais çà c'est pour la prochaine fois A bientôt

  7. #7
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Ciao tutti,

    Passons aux opérateurs de combinaison avec cette premiere vidéo introduisant la catégorie puis abordant les opérateurs: merge, concat, switchAll.
    Enfin, en exercice du jour, je vous propose d'implémenter une searchbar aux fonctionalités très poussé et ceux en utilisant tout ce que l'on a étudié jusqu'ici en particulier les opérateurs du jour.

    Bone visionnage



    Slides correspondantes

    La prochaine fois nous poursuivrons avec une fournée de nouveaux opérateurs: combineLatest, forkJoin, zip, withLatestFrom, exhaust, race, et startWith.

    A ++

  8. #8
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Hello le monde,

    Chose promise chose due :



    Slides correspondantes


    La prochaine vidéo clôturera cette catégorie d'Observable à savoir les Combination Observable avant d'aborder la catégorie des Transformation Observable qui nous permettra de clore l'études des catégories d'Observable et donc de rentrer dans des choses beaucoup beaucoup plus puissante et donc plus poussé ahah deux curseurs souvent liés pour le meilleur et le pire

  9. #9
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Vidéo courte pour clôturer les opérateurs de combinaisons, on a déjà pas mal de connaissance sur cette catégorie d'opérateurs.


    Slides correspondantes

    La prochaine fois on aborde la dernière catégorie d'opérateur, non encore une! Oui la dernière promis j'ai nommé les opérateurs de transformation.
    A bientôt

  10. #10
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Il est temps d'aborder la dernière grande catégorie d'Observable Operator, une catégorie très importante puisqu'elle est la seule à pouvoir altérer directement les valeurs de nos streams.
    Bien évidemment, l'opérateur incontournable Map en est le plus représentatif, néanmoins vous pourriez être agréablement surpris de ce que propose RxJS.




    Slides correspondantes

    Il y a aura une deuxième partie explicitant les opérateurs de Buffer pouvant être inclus dans la catégorie Transformation.
    Après cela nous en aurons terminé avec les bases de cette bibliothèque et pourrons alors entreprendre d'utiliser toute la puissance RxJS pour repousser les limites de la Programmation Réactive Fonctionnelle car oui elle en a encore sous le coffre

  11. #11
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    On clôture l'étude des différents opérateurs avec la deuxième partie portant sur les opérateurs de transformation.
    Plus particulièrement une sous-catégorie appelée les opérateurs de bufferisation.



    Slides correspondantes

    Alors maintenant, que nous avons explicité l'entièreté de l'API de la bibliothèque RxJS, il est temps de rentrer dans les concepts avancés.
    Vous allez encore être étonné par ce que la programmation réactive fonctionnelle peut proposer.
    Ainsi dans la prochaine vidéo nous allons étudier la "températeure" des streams car oui il existe différents types de stream,
    les Observables sont qu'une partie la principale certes mais qu'une partie.

    Till then see you

  12. #12
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Salut,

    Bon cela aura été compliqué ces derniers temps mais je vais essayer de retrouver progressivement l'ancien rythme.

    On débute les concepts avancés avec la notion de température. Il existe des types "Cold" ou "Hot" et même un hybrid appelé "Warm".
    Jusqu'ici nous avons étudié que des streams Cold qui sont programmatiquement pur dans l'approche fonctionnel. C'est pour cette raison qu'il faut les privilégier.

    La température du stream conduit à des comportements très différents, il est essentiel d'avoir cela en tête lorsque l'on manipule des streams, cela évite de passer du temps à débugger inutilement!



    Slides correspondantes

    Dans la prochaine vidéos on étudiera tous les principaux opérateurs de Multicasting pour pouvoir avoir le choix dans notre stratégie de manipulation de stream Hot & Warm.

    Bis Bald

Discussions similaires

  1. [Focal] Langage de programmation fonctionnelle Focal : besoin de doc
    Par djerbir dans le forum Langages fonctionnels
    Réponses: 4
    Dernier message: 15/12/2007, 00h53
  2. Débuter en programmation fonctionnelle
    Par Woufeil dans le forum Langages fonctionnels
    Réponses: 76
    Dernier message: 17/07/2007, 14h03
  3. La programmation fonctionnelle ?
    Par Gnux dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 03/07/2006, 20h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo