Introduction   node.js

  • View
    354

  • Download
    0

Embed Size (px)

DESCRIPTION

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 !

Text of Introduction   node.js

  • 1. Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots gagner toutes les heures !!!Claviers, souris et jeux MicrosoftMerci de nous aider amliorer les TechDayshttp://notes.mstechdays.fr

2. Introduction node.jsPierre CouzyResp. relations dveloppeursMicrosoftGuillaume LeborgneArchitecte .NetMCNEXTgleborgne@mcnext.comhttp://www.mcnext.com 3. 180 collaborateursDepuis 2007 Paris - Lyon - GenveStand 97 Zone bleufoncBusinessIntelligenceTalkBizNETDot SharePointMicrosoft100 % 4. La mode et linformatique sontcycliques 5. Les langages has been il y a 5 ans Ruby / Python C++ Javascript 6. Node.js est unenvironnementdexcution JavaScriptBas sur V8 (le moteurJavaScript de Chrome)Node.js 7. NODE.EXE 8. Lobjectif de Node.js est de proposer unmoyen simple de raliser des applicationsrseau capables de monter en chargeButs de conception 9. Multi plateforme (Unix, Mac, Windows, ) Scalable et monothread Bas sur une boucle dvnements I/O non bloquantesCaractristiques 10. Excellent pour : Communications tempsrel (sockets, polling, ) Services rseaux surmesure (proxies, ) API web (services json) Sites webInadapt pour : Usage intensif du CPU(transcodage vido,calculs mathmatiques,)Usages 11. Applications rseau (et donc web)hautement scalable Gre plusieurs centaines de milliers de connexionssimultanes avec un CPU et quelques Mo de RAM Mme langage de programmation ctclient et ct serveur Mmes formats & types pour la donnePourquoi tout ce buzz ? 12. Liste non exhaustive disponible ici : https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node Azure mobile services !Exemples dapplications ralises avecNode 13. HELLO WORLD, SAUCE NODEMon premier serveur web 14. $query = SELECT * FROM users WHERE id = ?;$users = query($query, array($id)); //on fait attendre le thread X msConsole.log($users);$query = SELECT * FROM activities ORDER BY timestamp LIMIT 50;$activities = query($query); // on fait attendre le thread X msConsole.log($activities);$query = SELECT count(points) as total, user_id FROM activities LIMIT50;$leader_board = query($query); // on fait attendre le thread X msConsole.log($ leader_board );I/O Bloquantes 15. Source: http://blog.csdn.net/tianyue168/article/details/6656370Gestion des IO bloquantes par lOS 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. Peut tre droutant si on nest pas habitu cesmcanismes Attention au callbackhell Modle de callbacks de Node :maFonction(arguments, function (erreur, donnees) {if (erreur) {// Gestion des cas derreur}// traitement des donnes.});Asynchronie gre par des callbacks 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. Points dextension de Node Bass sur CommonJS Grs avec lutilitaire npm Plusieurs dizaines de milliers de moduleexistants ! Dpendances gres travers le fichierpackage.jsonLes modules 20. https://npmjs.org/ Express Socket.io Underscore Jade Async Modules courants 21. AZURE CLIENT 22. Node.exe Intgration dans IIS avec le module IISNodeNode pour Windows 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. Environnement de dev Processus de publication DbogageNode.js avec Webmatrix et Visual Studio 25. CRER, DEBUGGER, PUBLIERUNE APPLICATION NODE 26. Questions / RponsesMerci ! 27. Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots gagner toutes les heures !!!Claviers, souris et jeux MicrosoftMerci de nous aider amliorer les TechDayshttp://notes.mstechdays.fr 28. Formez-vous en ligneRetrouvez nos vnementsFaites-vous accompagnergratuitementEssayer gratuitement nossolutions ITRetrouver nos expertsMicrosoftPros de lITDveloppeurswww.microsoftvirtualacademy.comhttp://aka.ms/generation-apphttp://aka.ms/evenements-developpeurshttp://aka.ms/itcamps-franceLes acclrateursWindows Azure, Windows Phone,Windows 8http://aka.ms/telechargementsLa DevTeam sur MSDNhttp://aka.ms/devteamLIT Team sur TechNethttp://aka.ms/itteam