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
Walmart, eBay, LinkedIn, PayPal, IBM, Airbnb, Uber, Medium, Groupon, MySpace, Mozilla, Yahoo!, Klout, Dow Jones, New York Times, BBC, Transloadit, Iris Couch, Segment.io Apiary.io…
Développement sponsorisé par Joyent. Formation et consulting haut de gamme initiés par The Node Firm.
En fait, regardez ça, ça calme. Et ça aussi.
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…
70K+ modules dans npm (~ +176/jour, leader)
~7,5M downloads/jour
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 !
(Obligatory shameless plug)
Formation Node.js chez JS Attitude
(prochaine inter-entreprises en septembre. Intras possibles avant !)