Introduction
- Pourquoi la programmation réactive ?
- Histoire de la programmation réactive
- Paysage des frameworks de programmation réactive
- Histoire de RxJava
La programmation réactive
- Flux d'évènements asynchrones
- Push / Pull
- Design pattern Observer
- "Flux d'Évènements" et "Valeur au cours du temps"
- Les "marble diagrams"
- La standardisation de la programmation réactive en Java
Les bases de RxJava
- Observables / Observers / Flowable
- Créer des Observables et des Flowables : from / of / create
- S'abonner à un Observable : subscribe
- Gestion des erreurs
- Gestions des "subscriptions"
- Multi-threading
Les opérateurs : transformer des observables
- Rappels de programmation fonctionnelle
- Description d'un opérateur
- Transformer les évènements : map / scan
- Agir sur la chronologie : delay / buffer
- Filter les évènements : filter / debounce / take
- Combiner les observables : concat / merge / switch
Concepts avancés
- Hot / Cold observables
- Observables multicast
- Subjects
- Schedulers
Tester avec RxJava
- Le TestScheduler
- Créer des observables pour les tests
- Vérifier les observables
Client / Serveur
- Les protocols de communication
- Faire des appels côté client
- Bonnes pratiques
RxJS côté back-end
- Les "drivers" de base de données
- Utilisation dans les "Message Oriented Middleware" (MoM)
- Intégration dans Spring Framework