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…
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…
48K+ modules dans npm (~ +117/jour, leader)
~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
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 !