NodeJs, une introduction

3 979 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
9 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
3 979
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 022
Actions
Partages
0
Téléchargements
137
Commentaires
1
J’aime
9
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é

×