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ées01
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…