SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
>< nextprevious
PROGRAMMATION RÉACTIVE
Et si l’asynchrone devenait plus simple?
1
Rémi MICHEL
Facility Insights
• Performance
énergétique
• Petits et moyens
bâtiments
>< nextprevious
Application web
• Solution
dynamique
• Widgets
Rapports statiques
Contexte
• Solution statique
• Rapports PDF,
PPT
2
>< nextprevious
Cahier des charges
‣ ETL
‣ Extraction = suite de requêtes HTTPs
‣ Contraintes
‣ Données formatées widgets
‣ Réutilisation / héritage
‣ Charge contrôlée
Pistes explorées
01
Callbacks
‣ Lisibilité du code
‣ Callback hell
02
03
>< nextprevious
Promises
Programmation Réactive
‣ Non “Lazy”
>< nextprevious
Programmation réactive
‣ Observables / Streams
‣ Extension du DP “Observer”
‣ Composition (syntaxe déclarative)
‣ 3 composantes:
‣ Observables
‣ Operators
‣ Schedulers
>< nextprevious
‣ Emettre des valeurs
‣ Observer: Réagit
aux valeurs émises
‣ Subscribe method:
‣ OnNext
‣ OnError
‣ OnCompleted
Observables
>< nextprevious
‣ Manipuler des
observables
‣ Chainage
‣ Syntaxe déclarative:
map, reduce, filter,
merge
‣ Dépend de
l’implémentation (~50
RxJS)
Operators
source: “The introduction to Reactive Programming you've been missing”
>< nextprevious
‣ Structure de données + contexte d’exécution
‣ Quand et ou les tâches sont exécutées
‣ 5 types: Immediate, currentThread, default,
HistoricalScheduler, TestScheduler
‣ Concurrence + Tests unitaires (virtual time)
Schedulers
>< nextprevious
‣ Extensions réactives (Rx…)
‣ RxJS, RxPHP, RxJava, RxClojure…
‣ + ou - aboutie
‣ Autres: BaconJS (https://baconjs.github.io/)
‣ Tuto: Validations de formulaires
Implémentations
>< nextprevious
‣ Talk Matthew Podwysocki: https://www.youtube.com/
watch?v=9fFWv4jmSgs
‣ ReactiveX: http://reactivex.io/intro.html
Pour aller plus loin…
>< nextprevious

Contenu connexe

En vedette

Nuabee backup : solution de sauvegarde postes et serveurs
Nuabee backup : solution de sauvegarde postes et serveurs Nuabee backup : solution de sauvegarde postes et serveurs
Nuabee backup : solution de sauvegarde postes et serveurs NUABEE
 
Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017
Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017
Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017Marius Zaharia
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft AzureK.Mohamed Faizal
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataMicrosoft
 
Getting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsGetting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsIlyas F ☁☁☁
 
Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...
Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...
Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...Publicis Sapient Engineering
 
Cloud Privé, Cloud Public...poursquoi choisir ?
Cloud Privé, Cloud Public...poursquoi choisir ?Cloud Privé, Cloud Public...poursquoi choisir ?
Cloud Privé, Cloud Public...poursquoi choisir ?Microsoft Décideurs IT
 
Alphorm.com Microsoft AZURE
Alphorm.com Microsoft AZUREAlphorm.com Microsoft AZURE
Alphorm.com Microsoft AZUREAlphorm
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamthavo001
 
De la classification à la protection de vos données, sécurisez votre entrepri...
De la classification à la protection de vos données, sécurisez votre entrepri...De la classification à la protection de vos données, sécurisez votre entrepri...
De la classification à la protection de vos données, sécurisez votre entrepri...Joris Faure
 

En vedette (12)

Nuabee backup : solution de sauvegarde postes et serveurs
Nuabee backup : solution de sauvegarde postes et serveurs Nuabee backup : solution de sauvegarde postes et serveurs
Nuabee backup : solution de sauvegarde postes et serveurs
 
Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017
Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017
Identite-as-a-service pour vos applications B2C - MS Cloud Summit Paris 2017
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft Azure
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
 
Windows Azure Platform Overview
Windows Azure Platform OverviewWindows Azure Platform Overview
Windows Azure Platform Overview
 
Getting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsGetting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 mins
 
Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...
Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...
Back Day Xebia / Typesafe : La programmation réactive pour répondre aux défis...
 
Cloud Privé, Cloud Public...poursquoi choisir ?
Cloud Privé, Cloud Public...poursquoi choisir ?Cloud Privé, Cloud Public...poursquoi choisir ?
Cloud Privé, Cloud Public...poursquoi choisir ?
 
Azure Cloud PPT
Azure Cloud PPTAzure Cloud PPT
Azure Cloud PPT
 
Alphorm.com Microsoft AZURE
Alphorm.com Microsoft AZUREAlphorm.com Microsoft AZURE
Alphorm.com Microsoft AZURE
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
 
De la classification à la protection de vos données, sécurisez votre entrepri...
De la classification à la protection de vos données, sécurisez votre entrepri...De la classification à la protection de vos données, sécurisez votre entrepri...
De la classification à la protection de vos données, sécurisez votre entrepri...
 

Introduction à la programmation réactive

  • 1. >< nextprevious PROGRAMMATION RÉACTIVE Et si l’asynchrone devenait plus simple? 1 Rémi MICHEL
  • 2. Facility Insights • Performance énergétique • Petits et moyens bâtiments >< nextprevious Application web • Solution dynamique • Widgets Rapports statiques Contexte • Solution statique • Rapports PDF, PPT 2
  • 3. >< nextprevious Cahier des charges ‣ ETL ‣ Extraction = suite de requêtes HTTPs ‣ Contraintes ‣ Données formatées widgets ‣ Réutilisation / héritage ‣ Charge contrôlée
  • 4. Pistes explorées 01 Callbacks ‣ Lisibilité du code ‣ Callback hell 02 03 >< nextprevious Promises Programmation Réactive ‣ Non “Lazy”
  • 5. >< nextprevious Programmation réactive ‣ Observables / Streams ‣ Extension du DP “Observer” ‣ Composition (syntaxe déclarative) ‣ 3 composantes: ‣ Observables ‣ Operators ‣ Schedulers
  • 6. >< nextprevious ‣ Emettre des valeurs ‣ Observer: Réagit aux valeurs émises ‣ Subscribe method: ‣ OnNext ‣ OnError ‣ OnCompleted Observables
  • 7. >< nextprevious ‣ Manipuler des observables ‣ Chainage ‣ Syntaxe déclarative: map, reduce, filter, merge ‣ Dépend de l’implémentation (~50 RxJS) Operators source: “The introduction to Reactive Programming you've been missing”
  • 8. >< nextprevious ‣ Structure de données + contexte d’exécution ‣ Quand et ou les tâches sont exécutées ‣ 5 types: Immediate, currentThread, default, HistoricalScheduler, TestScheduler ‣ Concurrence + Tests unitaires (virtual time) Schedulers
  • 9. >< nextprevious ‣ Extensions réactives (Rx…) ‣ RxJS, RxPHP, RxJava, RxClojure… ‣ + ou - aboutie ‣ Autres: BaconJS (https://baconjs.github.io/) ‣ Tuto: Validations de formulaires Implémentations
  • 10. >< nextprevious ‣ Talk Matthew Podwysocki: https://www.youtube.com/ watch?v=9fFWv4jmSgs ‣ ReactiveX: http://reactivex.io/intro.html Pour aller plus loin…