Le téléchargement de votre SlideShare est en cours. ×
0
Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots à gagner toutes les heures !!!...
Introduction à node.jsPierre CouzyResp. relations développeursMicrosoftGuillaume LeborgneArchitecte .NetMCNEXTgleborgne@mc...
180 collaborateursDepuis 2007 à Paris - Lyon - GenèveStand 97 – Zone bleufoncéBusinessIntelligenceTalkBizNETDot SharePoint...
La mode et l’informatique sontcycliques…
Les langages « has been » il y a 5 ans• Ruby / Python• C++• Javascript• …
Node.js est unenvironnementd’exécution JavaScriptBasé sur V8 (le moteurJavaScript de Chrome)Node.js
NODE.EXE
• L’objectif de Node.js est de proposer unmoyen simple de réaliser des applicationsréseau capables de monter en chargeButs...
• Multi plateforme (Unix, Mac, Windows, …)• Scalable et monothread• Basé sur une boucle d’événements• I/O non bloquantesCa...
Excellent pour :• Communications tempsréel (sockets, polling, …)• Services réseaux surmesure (proxies, …)• API web (servic...
• Applications réseau (et donc web)hautement scalable– Gère plusieurs centaines de milliers de connexionssimultanées avec ...
• Liste non exhaustive disponible ici :– https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-N...
HELLO WORLD, SAUCE NODEMon premier serveur web
$query = SELECT * FROM users WHERE id = ?;$users = query($query, array($id)); //on fait attendre le thread X ms…Console.lo...
Source: http://blog.csdn.net/tianyue168/article/details/6656370Gestion des IO bloquantes par l’OS
var query = SELECT * FROM users WHERE id = ?;db.query(query, [userId], function (err, results) {console.log(results);});va...
• Peut être déroutant si on n’est pas habitué à cesmécanismes• Attention au « callbackhell »• Modèle de callbacks de Node ...
var userQuery = SELECT * FROM users WHERE id = ?;var activityQuery = SELECT * FROM activities ORDER BY timestamp LIMIT 50;...
• Points d’extension de Node• Basés sur CommonJS• Gérés avec l’utilitaire npm• Plusieurs dizaines de milliers de moduleexi...
https://npmjs.org/• Express• Socket.io• Underscore• Jade• Async• …Modules courants
AZURE CLIENT
• Node.exe• Intégration dans IIS avec le module IISNodeNode pour Windows<configuration><system.webServer><handlers><add na...
• Dans Azure Web Sites– Repose également sur IISnode– Points de personnalisation :• Package.json• Web.config– Changer sa v...
• Environnement de dev• Processus de publication• DébogageNode.js avec Webmatrix et Visual Studio
CRÉER, DEBUGGER, PUBLIERUNE APPLICATION NODE
Questions / RéponsesMerci !
Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots à gagner toutes les heures !!!...
Formez-vous en ligneRetrouvez nos évènementsFaites-vous accompagnergratuitementEssayer gratuitement nossolutions ITRetrouv...
Prochain SlideShare
Chargement dans... 5
×

Introduction à node.js

384

Published on

Microsoft a mis node.js au premier plan en l'intégrant dans Windows Azure. Quelles sont les forces de ce langage ? Comment fonctionne-t-il ? Quelles sont les alternatives ? Session 100% technique !

Published in: Technologies
0 commentaires
0 mentions J'aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Be the first to like this

Aucun téléchargement
Vues
Total des vues
384
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
0
Actions
Partages
0
Téléchargements
11
Commentaires
0
J'aime
0
Ajouts 0
No embeds

No notes for slide
  • Notation
  • Intro code / dev
  • Notation
  • Exemple de page de code pour le secteur dev
  • Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  • Transcript of "Introduction à node.js "

    1. 1. Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots à gagner toutes les heures !!!Claviers, souris et jeux Microsoft…Merci de nous aider à améliorer les TechDayshttp://notes.mstechdays.fr
    2. 2. Introduction à node.jsPierre CouzyResp. relations développeursMicrosoftGuillaume LeborgneArchitecte .NetMCNEXTgleborgne@mcnext.comhttp://www.mcnext.com
    3. 3. 180 collaborateursDepuis 2007 à Paris - Lyon - GenèveStand 97 – Zone bleufoncéBusinessIntelligenceTalkBizNETDot SharePointMicrosoft100 %
    4. 4. La mode et l’informatique sontcycliques…
    5. 5. Les langages « has been » il y a 5 ans• Ruby / Python• C++• Javascript• …
    6. 6. Node.js est unenvironnementd’exécution JavaScriptBasé sur V8 (le moteurJavaScript de Chrome)Node.js
    7. 7. NODE.EXE
    8. 8. • L’objectif de Node.js est de proposer unmoyen simple de réaliser des applicationsréseau capables de monter en chargeButs de conception
    9. 9. • Multi plateforme (Unix, Mac, Windows, …)• Scalable et monothread• Basé sur une boucle d’événements• I/O non bloquantesCaractéristiques
    10. 10. Excellent pour :• Communications tempsréel (sockets, polling, …)• Services réseaux surmesure (proxies, …)• API web (services json)• Sites webInadapté pour :• Usage intensif du CPU(transcodage vidéo,calculs mathématiques,…)Usages
    11. 11. • Applications réseau (et donc web)hautement scalable– Gère plusieurs centaines de milliers de connexionssimultanées avec un CPU et quelques Mo de RAM• Même langage de programmation côtéclient et côté serveur– Mêmes formats & types pour la donnéePourquoi tout ce buzz ?
    12. 12. • Liste non exhaustive disponible ici :– https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node• Azure mobile services !Exemples d’applications réalisées avecNode
    13. 13. HELLO WORLD, SAUCE NODEMon premier serveur web
    14. 14. $query = SELECT * FROM users WHERE id = ?;$users = query($query, array($id)); //on fait attendre le thread X ms…Console.log($users);$query = SELECT * FROM activities ORDER BY timestamp LIMIT 50;$activities = query($query); // on fait attendre le thread X ms…Console.log($activities);$query = SELECT count(points) as total, user_id FROM activities LIMIT50;$leader_board = query($query); // on fait attendre le thread X ms…Console.log($ leader_board );I/O Bloquantes
    15. 15. Source: http://blog.csdn.net/tianyue168/article/details/6656370Gestion des IO bloquantes par l’OS
    16. 16. var query = SELECT * FROM users WHERE id = ?;db.query(query, [userId], function (err, results) {console.log(results);});var query = SELECT * FROM activities ORDER BY timestamp LIMIT 50;db.query(query, function (err, results) {console.log(results);});var query = SELECT count(points) as total, user_id FROM activities LIMIT 50;db.query(query, function (err, results) {console.log(results);});I/O non bloquantes
    17. 17. • Peut être déroutant si on n’est pas habitué à cesmécanismes• Attention au « callbackhell »• Modèle de callbacks de Node :maFonction(arguments, function (erreur, donnees) {if (erreur) {// Gestion des cas d’erreur}// traitement des données.});Asynchronie gérée par des callbacks
    18. 18. var userQuery = SELECT * FROM users WHERE id = ?;var activityQuery = SELECT * FROM activities ORDER BY timestamp LIMIT 50;var leaderBoardQuery = SELECT count(points) as total, user_id FROM activitiesLIMIT 50;db.query(userQuery, [id], function (userErr, userResults) {db.query(activityQuery, function (activityErr, activityResults) {db.query(leaderBoardQuery, function (leaderBoardErr, leaderBoardResults){// Do something here});});});Attention au « callbackhell »
    19. 19. • Points d’extension de Node• Basés sur CommonJS• Gérés avec l’utilitaire npm• Plusieurs dizaines de milliers de moduleexistants !• Dépendances gérées à travers le fichierpackage.jsonLes modules
    20. 20. https://npmjs.org/• Express• Socket.io• Underscore• Jade• Async• …Modules courants
    21. 21. AZURE CLIENT
    22. 22. • Node.exe• Intégration dans IIS avec le module IISNodeNode pour Windows<configuration><system.webServer><handlers><add name="iisnode"path="server.js"verb="*"modules="iisnode" /></handlers></system.webServer></configuration>
    23. 23. • Dans Azure Web Sites– Repose également sur IISnode– Points de personnalisation :• Package.json• Web.config– Changer sa version de nodeNode.js et Windows Azure
    24. 24. • Environnement de dev• Processus de publication• DébogageNode.js avec Webmatrix et Visual Studio
    25. 25. CRÉER, DEBUGGER, PUBLIERUNE APPLICATION NODE
    26. 26. Questions / RéponsesMerci !
    27. 27. Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots à gagner toutes les heures !!!Claviers, souris et jeux Microsoft…Merci de nous aider à améliorer les TechDayshttp://notes.mstechdays.fr
    28. 28. Formez-vous en ligneRetrouvez nos évènementsFaites-vous accompagnergratuitementEssayer gratuitement nossolutions ITRetrouver nos expertsMicrosoftPros de l’ITDéveloppeurswww.microsoftvirtualacademy.comhttp://aka.ms/generation-apphttp://aka.ms/evenements-developpeurshttp://aka.ms/itcamps-franceLes accélérateursWindows Azure, Windows Phone,Windows 8http://aka.ms/telechargementsLa Dev’Team sur MSDNhttp://aka.ms/devteamL’IT Team sur TechNethttp://aka.ms/itteam
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×