Node.js est une plate-forme open-source basée sur le moteur JavaScript de Google Chrome (moteur V8). Il exécute du code JavaScript en dehors d'un navigateur Web et est conçu pour créer des applications réseau évolutives. Il utilise un modèle d'entrée / sortie non bloquant et piloté par les événements et est influencé par Ruby EventMachine et Python's Twisted. Node.js permet aux développeurs d'utiliser JavaScript pour écrire des outils de ligne de commande et utiliser des scripts côté serveur, qui emploient des scripts sur un serveur Web pour produire une réponse personnalisée pour la demande de chaque client sur le site Web.
Node.js a été développé par Ryan Dahl en 2009. La version initiale ne supportait que Linux et Mac OS X. Bien que .js soit l'extension de nom de fichier standard pour le code JavaScript, le nom Node.js ne fait pas référence à un fichier particulier et est uniquement le nom du produit.
Comment fonctionne Node.js
Le moteur de serveur utilise un modèle d'E / S non bloquant basé sur les événements, ce qui signifie que l'adaptation de JavaScript au langage machine est plus facile et que le code peut être exécuté rapidement et simplement. Par rapport aux techniques de service Web traditionnelles où chaque requête génère un nouveau thread, Node.js fonctionne sur une boucle d'événements à thread unique. Cela aide les serveurs à répondre de manière non bloquante et rend le serveur hautement évolutif.
Node.js propose une prise en charge intégrée de la gestion des packages à l'aide de Node Package Manager (NPM). C'est un outil par défaut fourni avec chaque installation de Node.js. NPM contient des millions de bibliothèques téléchargeables gratuitement selon des exigences spécifiques. Tout le monde peut publier son propre module pour être répertorié dans le référentiel NPM. Les modules NPM populaires incluent:
- Express: Un cadre de développement Web inspiré de Sinatra (oui, il existe un langage de programmation nommé pour Ol 'Blue Eyes)
- Hapi: Un cadre modulaire centré sur la configuration pour la création d'applications Web et de services
- Contact: Un framework de serveur HTTP extensible qui fournit une collection de plugins appelés middleware
- Redis: Redis client library
- Pour Toujours: L'un des utilitaires les plus courants pour garantir qu'un script de nœud donné s'exécute en continu
- Moment: Une bibliothèque de dates JavaScript pour analyser, valider, manipuler et mettre en forme les dates
Node.js utilise
Node.js peut être utilisé pour:
- Backend pour les réseaux sociaux
- Développement d'applications sur une seule page
- Chatbots
- Flux de données
- Développement d'applications IoT
- Applications temps réel gourmandes en données
Il n'est pas conseillé d'utiliser Node.js pour les applications gourmandes en ressources processeur.