Développé par | Ryan Lienhart Dahl et les développeurs de Node.js |
---|---|
Première version | [1] |
Dernière version | 16.2.0 ()[2] |
Dépôt | github.com/nodejs/node |
Écrit en | C++, C et JavaScript |
Système d'exploitation | MacOS, GNU/Linux, SmartOS, FreeBSD, Microsoft Windows, AIX et Android |
Type | Environnement d’exécution |
Licence | Licence MIT |
Documentation | nodejs.org/en/docs |
Site web | nodejs.org |
Node.js est une plateforme logicielle libre en JavaScript, orientée vers les applications réseau événementielles hautement concurrentes qui doivent pouvoir monter en charge.
Elle utilise la machine virtuelle V8, la librairie libuv pour sa boucle d'évènements, et implémente sous licence MIT les spécifications CommonJS.
Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de serveur HTTP. Il est donc possible de se passer de serveurs web tels que Nginx ou Apache lors du déploiement de sites et d'applications web développés avec Node.js.
Concrètement, Node.js est un environnement bas niveau permettant l’exécution de JavaScript côté serveur.
Node.js est utilisé notamment comme plateforme de serveur Web, elle est utilisée par Groupon[3], Vivaldi, SAP[4], LinkedIn[5],[6], Microsoft[7],[8], Yahoo![9], Walmart[10], Rakuten, Sage et PayPal[11],[12].
Node.js a été créé par Ryan Dahl en 2009. Son développement et sa maintenance sont effectués par l'entreprise Joyent (en)[13]. Dahl a eu l'idée de créer Node.js après avoir observé la barre de progression d'un chargement de fichier sous Flickr : le navigateur ne savait pas quel pourcentage du fichier était chargé et devait adresser une requête au serveur web. Dahl voulait développer une méthode plus simple[14]. Le serveur web Mongrel de Ruby a été l'autre source d'inspiration pour Dahl[15]. Dahl avait échoué dans plusieurs projets en C, Lua et Haskell, mais, quand le moteur V8 fut diffusé, il commença à s'intéresser à JavaScript[16]. Même si son idée d'origine était d'utiliser des entrées et sorties non bloquantes, il en reviendra un peu dans son module système car cela provoquait des problèmes de chargement de bibliothèques externes[17].
Node.js est utilisé au cœur du système d'exploitation Palm webOS[18].
Fin 2014, en désaccord avec le rôle de l'entreprise Joyent, plusieurs des développeurs principaux de node.js décident de forker celui-ci et créent alors io.js. Un an plus tard, ils décident de fusionner à nouveau avec node.js[19].
En , node.js est à nouveau forké et plusieurs contributeurs créent alors ayo.js[20],[21]
Voici un exemple d'implémentation du programme Hello World sous forme de serveur web :
const { createServer } = require('http');
//Creation du serveur
const server = createServer((request, response) => {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
});
server.listen(3000, () => console.log('Adresse du serveur : http://localhost:3000'));
Trois points transparaissent dans ce code :
Depuis , la fondation Node.js a pour projet de créer une certification professionnelle, la NCD[24] (Nodejs Certified Developer). Cette certification est proposée en partenariat avec la Fondation Linux et est actuellement disponible en accès anticipé.
Node.js est utilisé pour faire des applications cross-plateforme avec des framework comme Ionic pour les applications mobiles ou encore Electron pour les applications desktop. Les géants comme Discord ou encore Slack utilisent ce système.
Node.js est aussi beaucoup utilisé pour faire des serveurs de bot informatique ou bien des serveurs web. Certaines API Rest pour l'authentification sont faites avec Node.js.
Article Node.js en français Wikipedia a pris les places suivantes dans le classement local de popularité:
Le contenu présenté de l'article Wikipédia a été extrait en 2021-06-13 sur la base de https://fr.wikipedia.org/?curid=4919740