• Partagez
  • E-mail
  • Intégrer
  • J'aime
  • Contenu privé
Introduction à node.js
 

Introduction à node.js

on

  • 311 vues

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 !

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 !

Statistiques

Vues

Total des vues
311
Vues sur SlideShare
311
Vues externes
0

Actions

J'aime
0
Téléchargements
2
Commentaires
0

0 Ajouts 0

No embeds

Accessibilité

Catégories

Détails de l'import

Uploaded via as Microsoft PowerPoint

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire
  • 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.

Introduction à node.js Introduction à node.js Presentation Transcript

  • 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
  • Introduction à node.jsPierre CouzyResp. relations développeursMicrosoftGuillaume LeborgneArchitecte .NetMCNEXTgleborgne@mcnext.comhttp://www.mcnext.com
  • 180 collaborateursDepuis 2007 à Paris - Lyon - GenèveStand 97 – Zone bleufoncéBusinessIntelligenceTalkBizNETDot SharePointMicrosoft100 %
  • 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 de conception
  • • Multi plateforme (Unix, Mac, Windows, …)• Scalable et monothread• Basé sur une boucle d’événements• I/O non bloquantesCaractéristiques
  • 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
  • • 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 ?
  • • 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
  • 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.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
  • 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);});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
  • • 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
  • 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 »
  • • 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
  • 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 name="iisnode"path="server.js"verb="*"modules="iisnode" /></handlers></system.webServer></configuration>
  • • Dans Azure Web Sites– Repose également sur IISnode– Points de personnalisation :• Package.json• Web.config– Changer sa version de nodeNode.js et Windows Azure
  • • 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 !!!Claviers, souris et jeux Microsoft…Merci de nous aider à améliorer les TechDayshttp://notes.mstechdays.fr
  • 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