Depuis votre smartphone : http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les tech·days !
Paris Web, toussa…
JS === langage n°1 (si) (si, si)
Langage extrêmement puissant + en forte évolution
Changement de modèle I/O pour plus de performance
Léger mais ultra-rapide
Capitalisation des compétences
Que du bonheur :-)
Nombreux très gros sites et systèmes basés sur Node
eBay (ql.io, 1),
LinkedIn
(1,
2,
3,
4),
PayPal (Kraken),
IBM (Mobile platform),
Airbnb (1),
Uber,
MySpace,
Mozilla (Persona),
Klout,
Yahoo! (Manhattan, Mojito, Cocktails…),
Dow Jones,
New York Times (parties),
BBC (cœur),
Transloadit,
Iris Couch,
Segment.io
Apiary.io…
Sans oublier une bonne partie du BaaS Azure Mobile Services…
Développement sponsorisé par Joyent. Formation et consulting haut de gamme initiés par The Node Firm.
En fait, regardez ça, ça calme.
Aucun souci sur du dédié, évidemment.
Pour du PaaS, on a l’embarras du choix :
Joyent, Nodejitsu, Heroku, EngineYard, Azure, StrongLoop et plein d’autres…
58K+ modules dans npm (~ +155/jour, leader)
~5M downloads/jour
Microsoft contribue à Node depuis des années
Une des principales options dans Azure
Sous-tend une bonne partie des Azure Mobile Services
Beau toolkit gratuit : Node.js Tools for Visual Studio
JavaScript reste intrinsèquement mono-thread
(on a plein d’options pour exploiter le multi-core, ceci dit)
Boucle d’événements + code asynchrone
Montée en charge bien supérieure à du multi-thread : à partir d’un haut niveau de concurrence (milliers de connexions), un serveur asynchrone non-bloquant « gagne » forcément.
Le cœur de Node, c’est de l’opti d’I/O
Réseau, FileSystem, etc.
Infra riche et puissante de flux
Binaire/texte (UTF-8 & cie), buffer/direct…
Pipes, backpressure, etc. Composable, surpuissant.
Avec Node, tout fichier est un module isolé.
Dépendances explicites synchrones avec require('…')
Enfin du code structuré, modulaire, découpé…
Ça + chemins intelligents = la fête
Pas de scope magique, d’identifiants inattendus, etc.
À la base, explicite partout plutôt que CoC
Du besoin de require au design des API et modules majeurs
Prise en main moins dure pour les nouveaux : moins besoin de fouiller dans une tonne de docs et conventions, pas d’effet de surprise.
Philosophie Unix
Faire une seule chose et la faire bien
Composition pour traiter des besoins riches
Certains modules npm tiennent en une fonction !