2 Javascript dans tous ses états Bruno MichelYann Schwartz AF83Polom

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

12 règles d’ergonomie web
[number 1-100].
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Portée des variables VBA & Excel
Classe : …………… Nom : …………………………………… Date : ………………..
Reconnaissance de la parole
Les numéros
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Les Prepositions.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Architecture de réseaux
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Autorisations Utilisation eCATT
Plan de formation Chapitre 1 : Présentation de SAP
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
5 Verbes au passé composé 1.Jai eu avoir 2. Jai du devoir.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Développement d’applications web
Présentation générale de MapBruit
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Serveurs Partagés Oracle
Gérard Gasganias Ingénieur Avant-Vente Microsoft France
Programmation multimédia 3
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Développement d’application web
La Saint-Valentin Par Matt Maxwell.
Connecteur Team Foundation Server Project Server
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Programmation concurrente
Notre calendrier français MARS 2014
Annexe 1 VISITE SUR
Quelle heure est-il ??. THE TIME: OCLOCK IL EST HEURE IL EST + + HEURES etc.
C'est pour bientôt.....
Veuillez trouver ci-joint
F L T R Université catholique de Louvain-la-Neuve Faculté de philosophie et lettres FLTR Faculté de Philosophie et Lettres Présentation décembre 2002 Réalisation:
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
Office 365 Administration et supervision du service
Office 365 Damien Caro Christian Fumey Cecilia Lentini
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Page 1 © Jean Elias Gagner en agilité numérique. Page 2 © Jean Elias Les fournisseurs.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Structures des données
‘‘Open Data base Connectivity‘‘
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
Stage 2A CS80 pour Origin 1/28. 1) Presentation of the internship 2) The Multi-Oscillator 3) Connection-GUI’s API Conclusion Stage 2A CS80 pour Origin.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Page 1 © Jean Elias Recherche et veille. Page 2 © Jean Elias Les fournisseurs.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Modèle pédagogique d’un système d’apprentissage (SA)
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
CALENDRIER-PLAYBOY 2020.
Les Chiffres Prêts?
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
AngularJS.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI
Transcription de la présentation:

2 Javascript dans tous ses états Bruno MichelYann Schwartz AF83Polom

3 Au menu Contexte Javascript serveur & asynchrone : node Javascript réactif : Reactive Extensions Javascript, the good parts : coffeescript

4 Contexte

5 Interlude Javascript côté serveur

6 Javascript serveur & asynchrone : node

7 node.js Un environnement JavaScript Côté serveur Avec un modèle asynchrone Efficace pour les I/O Plus simple que le C ;-)

8 Démo Hello World, version web

9 Démo Un serveur de discussion en ligne

10 Le modèle asynchrone Le principe : déléguer à node.js Dès que l'on risque d'attendre on demande à node.js : Fais ceci dès que tu peux et quand c'est fait, reviens me voir Une fonction de callback Avec error en premier paramètre Un UNIQUE thread dexécution (mais toutes les actions dI/O sont asynchrones)

11 Les avantages Node.js très efficace pour la concurrence Gère les I/O pour vous Quasiment aussi rapide qu'un serveur HTTP Beaucoup de connexions en parallèle Mais reste simple à écrire Sans les problèmes classiques des threads (synchronisation, ressources, etc.)

12 L'écosystème Un écosystème qui grandit rapidement Quelques modules à connaître NPM – Node Package Manager Vows – Tester votre code Express – Un framework web léger Fugue – Serveur avec plusieurs instances

13 Javascript réactif : Reactive Extensions

14 Reactive Extensions for Js Si on parlait de LINQ ?

15 LINQ ? Une approche déclarative Evaluation paresseuse On enchaîne les opérateurs pour travailler sur un flux de données On compose ses traitements

16 LINQ en une phrase Un pattern de manipulation de données, composable, et basé sur le pull.

17 Revenons à nos moutons La programmation Javascript fait grand usage : Des événements De lasynchrone Gérer asynchrone et événements devient vite complexe On pense encore synchrone et impératif Gestion des erreurs Synchronisation et combinaisons Et si on avait un « LINQ to events » ? Mais en Javascript

18 Reactive Extensions LINQ : IEnumerable Rx : Observable et Observer LINQ et Rx : évaluation paresseuse « just in time » LINQ et Rx : on compose des opérateurs

19 Observable et Observer Un Observable Une source à laquelle on sabonne Un Observable nest pas un événement Abstraction facilement manipulable et composable Plus facile à tester Un Observer sabonne à lObservable Consomme Précise ce qui se passe en cas derreur ou de fin

20 Les observables permettent de manipuler une chronologie dévénements comme une séquence On applique des opérateurs à cette chronologie Et on exprime ainsi un workflow

21 Quelques opérateurs « Classiques » Where, Select, Skip, TakeWhile, Zip, Range Agrégations Min, Max, Sum, Aggregate, Scan, GroupBy Structures de contrôle If, Then, While Spécifiques Rx BufferWith* Amb Join ForkJoin From*Event, ToAsync, XmlHttpRequest

22 Exemple

23 Démo Rx Javascript

24 Javascript, the good parts : coffeescript

25 Coffeescript

26 Javascript Ce qui est beau First class functions Closures Prototypes et dynamisme Objets littéraux

27 The ugly parts Les variables globales La portée Les points virgule en folie Les comparaisons hasOwnProperty… le mot clé with… Les bonnes et moins bonnes manières de créer des objets Le bruit syntaxique des { ( et ;

28 Coffeescript Et si on gardait les bons côtés… … en oubliant les autres ? Fonctions plus simples à écrire Plus daccolades La bonne portée par défaut Pas de mauvaises surprises sur la comparaison Création simplifiée des classes Quelques bonus

29 Compilation Coffeescript se compile en Javascript standard et propre (performances comparables) Compilation en ligne de commande ou à la volée Compatible avec toutes les bibliothèques Javascript existantes (jquery, Rx, node ….)

30 Ressources Reactive Extensions Home : msdn.microsoft.com/data/gg Série sur RxJs : weblogs.asp.net/podwysocki/ Node Home : github.com/ry/node Binaires windows : node-js.prcn.co.cc Coffeescript Home : jashkenas.github.com/coffee-script/ Wrapper.NET : github.com/abolibibelot/coffeescript-dotnet Démos github.com/abolibibelot/Techdays2011_Javascript

31 MSDN et TechNet : lessentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs