une introduction...

ApéroTech Oxalide, 24 juin 2013
(version légèrement modifiée, avec plus de texte, pour l’adapter à la ...
Qu’est-ce que c’est ?
JavaScript

JavaScript, un langage qui a été connu dans les années
90 pour servir à faire des animations comme :
Welcome to my
homepage !!!
They are so cute !

I love kittens !!!!
photo : www.christianholmer.com
JavaScript, ça ressemble à :
JavaScript
Hors du
navigateur

accès aux fichiers, au reste de la machine
=> on pourrait par exemple faire un logiciel de

...
JavaScript
Hors du
navigateur

Avec des
fonctions pour
serveurs

JS

JS

JS
Pourquoi en parle-t-on ?
JavaScript
Hors du
navigateur

Avec des
fonctions pour
serveurs
Utilise V8
JavaScript
Hors du
navigateur

Avec des
fonctions pour
serveurs

Événementiel
Utilise V8
Événementiel
JavaScript
Hors du
navigateur

Asynchrone

Avec des
fonctions pour
serveurs

Événementiel
Utilise V8
Synchrone
Appel HTTP
Asynchrone : Illustration
imaginons un serveur web
qui lorsque vous l’interrogez,
va demander à son tour à Twitter
les der...
Synchrone
Appel HTTP

Serveur bloqué
pendant ce temps
Synchrone
Autre appel HTTP

Mis en attente...
Asynchrone

le serveur n’est pas bloqué pendant l’appel à Twitter
Synchrone

Asynchrone
Synchrone

Asynchrone
Un exemple très simple
Exemple
L’écosystème
Est-ce mûr ?
L’écosystème nodeJS
• nodeJS autosuffisant en serveur web
(vs php => Apache)

• des modules NPM

express, jade, socket.io, ...
JavaScript
Hors du
navigateur

Asynchrone

Avec des
fonctions pour
serveurs

Événementiel
Utilise V8
Le quotidien du développeur nodeJS,
c’est avant tout du :

Asynchrone

JavaScript

Hors du
navigateur

Avec des
fonctions ...
Remise en contexte :
l’histoire de JavaScript
JavaScript
1995

N’est pas un mini

Un nom de langage assez mal choisi, qui l’a desservi
JavaScript
1996

vs
La guerre des navigateurs porte un coup fatal au JS
JavaScript
1999-2000

Macromedia / Adobe Flash
Remplace JavaScript comme moyen phare pour rendre les
pages web dynamiques
JavaScript
2004-2007

Asynchronous JavaScript And XML
Relance un intérêt pour JavaScript
JavaScript
2007-2008

Surcouche gérant la compatibilité :
permet d’amoindrir les désastres causés
par guerre des navigateu...
JavaScript
2008-2010

V8
Le JavaScript devient rapide,
enclenchant une compétition entre navigateurs
JavaScript
2010-2012

Apple en refusant Flash,
en accélère l’adoption
sur mobile

HTML 5 révolutionne le web,
le grand pil...
JavaScript
2010-...

Backbone
Quand l’utiliser ?
La réponse découle des caractéristiques déjà évoquées :
JavaScript
Hors du
navigateur

Asynchrone

Événementiel
Utilise V8...
Quand l’utiliser ?

JavaScript

lorsqu’on aime JavaScript...
Quand l’utiliser ?

JS

JS

Lorsqu’il est intéressant d’avoir le même langage côté serveur & client
Quand l’utiliser ?

Appel de WebServices
Quand l’utiliser ?

Serveur d’API
surtout JSON

Utilise V8

Pages web simples
Quand l’utiliser ?
Avec des
fonctions pour
serveurs

manipulations http bas niveau

TCP / UDP
Utilise V8

Streaming
Quand l’utiliser ?

Temps réel / websockets
Quand ne PAS l’utiliser ?
Quand ne PAS l’utiliser ?

• Projets nécessitant frameworks pour
architecture

• Gros projets en terme de développeurs
• C...
Qui l’utilise ?
Ebay
Mozilla

Walmart
Yahoo!
LinkedIn
Pinterest
Exemple : LinkedIn
• Rails => node.js
• rapidité => x20
• nombre de serveurs : 30 => 3
NodeJS en est probablement ici
Le problème de
recrutement
Rappelez vous les mauvais départs de JavaScript...

vs
Le problème de
recrutement
• très grosse majorité de novices
• ne savent pas qu’ils sont novices
• JQuery n’es pas JavaScr...
Le problème de
recrutement
• les programmeurs expérimentés dans
d’autres langages ont des a priori sur
JavaScript

• La pr...
Livre conseillé pour prendre
un peu de recul sur JavaScript
Autant pour ses enseignements
et conseils sur le langage que
p...
Merci !

pierre.lancien@toxicode.fr

Conseils, prestations et
formations en JS avancé
Prochain SlideShare
Chargement dans…5
×

NodeJs, une introduction

4 201 vues

Publié le

Présentation donnée à l'Aperotech Oxalide, le 24 juin 2013.
Qu'est-ce que NodeJS ? pourquoi en parle-t-on autant ? quand l'utiliser ? qu'est-ce que l'asynchrone ? quelle est le contexte actuel du marché du js / NodeJS ?

Publié dans : Technologie
1 commentaire
10 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
4 201
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 025
Actions
Partages
0
Téléchargements
148
Commentaires
1
J’aime
10
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

NodeJs, une introduction

  1. 1. une introduction... ApéroTech Oxalide, 24 juin 2013 (version légèrement modifiée, avec plus de texte, pour l’adapter à la mise en ligne) pierre.lancien@toxicode.fr
  2. 2. Qu’est-ce que c’est ?
  3. 3. JavaScript JavaScript, un langage qui a été connu dans les années 90 pour servir à faire des animations comme :
  4. 4. Welcome to my homepage !!! They are so cute ! I love kittens !!!! photo : www.christianholmer.com
  5. 5. JavaScript, ça ressemble à :
  6. 6. JavaScript Hors du navigateur accès aux fichiers, au reste de la machine => on pourrait par exemple faire un logiciel de conversion d’image, logiciel de backup...
  7. 7. JavaScript Hors du navigateur Avec des fonctions pour serveurs JS JS JS
  8. 8. Pourquoi en parle-t-on ?
  9. 9. JavaScript Hors du navigateur Avec des fonctions pour serveurs Utilise V8
  10. 10. JavaScript Hors du navigateur Avec des fonctions pour serveurs Événementiel Utilise V8
  11. 11. Événementiel
  12. 12. JavaScript Hors du navigateur Asynchrone Avec des fonctions pour serveurs Événementiel Utilise V8
  13. 13. Synchrone Appel HTTP
  14. 14. Asynchrone : Illustration imaginons un serveur web qui lorsque vous l’interrogez, va demander à son tour à Twitter les derniers tweets de tel utilisateur Voyons ce qui se passe sur un serveur «normal», synchrone
  15. 15. Synchrone Appel HTTP Serveur bloqué pendant ce temps
  16. 16. Synchrone Autre appel HTTP Mis en attente...
  17. 17. Asynchrone le serveur n’est pas bloqué pendant l’appel à Twitter
  18. 18. Synchrone Asynchrone
  19. 19. Synchrone Asynchrone
  20. 20. Un exemple très simple
  21. 21. Exemple
  22. 22. L’écosystème Est-ce mûr ?
  23. 23. L’écosystème nodeJS • nodeJS autosuffisant en serveur web (vs php => Apache) • des modules NPM express, jade, socket.io, mocha • la communauté, très dynamique mais avec un aspect expérimental fort
  24. 24. JavaScript Hors du navigateur Asynchrone Avec des fonctions pour serveurs Événementiel Utilise V8
  25. 25. Le quotidien du développeur nodeJS, c’est avant tout du : Asynchrone JavaScript Hors du navigateur Avec des fonctions pour serveurs Événementiel Utilise V8
  26. 26. Remise en contexte : l’histoire de JavaScript
  27. 27. JavaScript 1995 N’est pas un mini Un nom de langage assez mal choisi, qui l’a desservi
  28. 28. JavaScript 1996 vs La guerre des navigateurs porte un coup fatal au JS
  29. 29. JavaScript 1999-2000 Macromedia / Adobe Flash Remplace JavaScript comme moyen phare pour rendre les pages web dynamiques
  30. 30. JavaScript 2004-2007 Asynchronous JavaScript And XML Relance un intérêt pour JavaScript
  31. 31. JavaScript 2007-2008 Surcouche gérant la compatibilité : permet d’amoindrir les désastres causés par guerre des navigateurs.
  32. 32. JavaScript 2008-2010 V8 Le JavaScript devient rapide, enclenchant une compétition entre navigateurs
  33. 33. JavaScript 2010-2012 Apple en refusant Flash, en accélère l’adoption sur mobile HTML 5 révolutionne le web, le grand pilote central, c’est JavaScript
  34. 34. JavaScript 2010-... Backbone
  35. 35. Quand l’utiliser ?
  36. 36. La réponse découle des caractéristiques déjà évoquées : JavaScript Hors du navigateur Asynchrone Événementiel Utilise V8 Avec des fonctions pour serveurs ... mais aussi de l’histoire de JavaScript
  37. 37. Quand l’utiliser ? JavaScript lorsqu’on aime JavaScript...
  38. 38. Quand l’utiliser ? JS JS Lorsqu’il est intéressant d’avoir le même langage côté serveur & client
  39. 39. Quand l’utiliser ? Appel de WebServices
  40. 40. Quand l’utiliser ? Serveur d’API surtout JSON Utilise V8 Pages web simples
  41. 41. Quand l’utiliser ? Avec des fonctions pour serveurs manipulations http bas niveau TCP / UDP Utilise V8 Streaming
  42. 42. Quand l’utiliser ? Temps réel / websockets
  43. 43. Quand ne PAS l’utiliser ?
  44. 44. Quand ne PAS l’utiliser ? • Projets nécessitant frameworks pour architecture • Gros projets en terme de développeurs • Calculs très gourmands en CPU • Faire votre blog...
  45. 45. Qui l’utilise ? Ebay Mozilla Walmart Yahoo! LinkedIn Pinterest
  46. 46. Exemple : LinkedIn • Rails => node.js • rapidité => x20 • nombre de serveurs : 30 => 3
  47. 47. NodeJS en est probablement ici
  48. 48. Le problème de recrutement Rappelez vous les mauvais départs de JavaScript... vs
  49. 49. Le problème de recrutement • très grosse majorité de novices • ne savent pas qu’ils sont novices • JQuery n’es pas JavaScript Test : demandez leur ce qu’est un «prototype» !
  50. 50. Le problème de recrutement • les programmeurs expérimentés dans d’autres langages ont des a priori sur JavaScript • La programmation asynchrone est particulière, c’est une manière différente de penser et de coder
  51. 51. Livre conseillé pour prendre un peu de recul sur JavaScript Autant pour ses enseignements et conseils sur le langage que pour la démarche intellectuelle de l’auteur Les chapitres très intéressants : 1, 3, 4 & 5
  52. 52. Merci ! pierre.lancien@toxicode.fr Conseils, prestations et formations en JS avancé

×