Par Ryan Dahl · 2009 · Sources officielles vérifiées
En résumé
Environnement d'exécution JavaScript open-source et multiplateforme bâti sur le moteur V8 de Google Chrome, permettant d'exécuter du code JavaScript côté serveur grâce à des E/S non bloquantes.
Node.js a révolutionné l'histoire du développement logiciel en permettant aux développeurs d'utiliser un seul et même langage (JavaScript) à la fois sur le frontend et sur le backend ('JavaScript Everywhere'). Basé sur le moteur V8 ultra-rapide de Chrome et la bibliothèque C libuv, Node.js fonctionne sur un modèle d'E/S asynchrones non-bloquantes orienté événements ('Event Loop'). Il est à l'origine du plus grand registre de paquets au monde : npm (Node Package Manager).
Node.js est mono-thread pour l'exécution du code JS mais délègue les opérations lourdes à un pool de threads sous-jacent.
Compile le code JavaScript directement en code machine natif avant son exécution, optimisant l'accès aux variables et la gestion de la mémoire (Garbage Collection).
Bibliothèque C multiplateforme qui gère la boucle d'événements, le pool de threads pour les opérations de fichiers, les sockets réseau et les timers asynchrones.
Fournit des modules bas niveau intégrés sans dépendance externe : `node:fs` (fichiers), `node:http` (serveur web), `node:crypto` (sécurité), `node:stream` (flux de données).
Données techniques vérifiées auprès des documentations officielles, des RFCs et des spécifications standards.