Noeud.JS (Node.JS)

Node.js est un runtime JavaScript multiplateforme open source qui s'exécute sur des serveurs. Depuis sa sortie en 2009, cette plateforme est devenue extrêmement populaire et joue un rôle très important dans le domaine du développement web ces jours-ci.
Pour l'article complet sur Node.JS ...

Afficher le filtre
Filtres d'hébergement
A2 Themes & Host Me Filter

Le système d'exploitation

Espace disque

Mémoire RAM

Type de disque

Cœurs de processeur

Trier

Score - 0
RedSwitches Logo
RedSwitches

Commutateurs rouges

Pearl
$6.94 /Mensuel


Emplacements des serveurs


RedSwitches Servers in NetherlandsPays-Bas RedSwitches Servers in UnionÉtats Unis RedSwitches Servers in MelbourneAustralie RedSwitches Servers in MumbaiInde RedSwitches Servers in GermanyAllemagne
Comparer
Score - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Mensuel


Emplacements des serveurs


Hostarina Servers in UnionÉtats Unis Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichAllemagne
Comparer
Score - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Mensuel


Emplacements des serveurs


Net9 Oy Servers in StockholmSuède Net9 Oy Servers in HelsinkiFinlande Net9 Oy Servers in ParisFrance
Comparer
Score - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Mensuel


Emplacements des serveurs


Heroku Servers in United StatesÉtats Unis
Comparer
Score - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Mensuel

Comparer
Score - 0
Chemi Cloud Logo
Chemi Cloud

Cloud Chemi

Ionic
$2.95 /Mensuel


Emplacements des serveurs


Chemi Cloud Servers in BangaloreInde Chemi Cloud Servers in New YorkÉtats Unis Chemi Cloud Servers in BucharestRoumanie Chemi Cloud Servers in LondonRoyaume-Uni Chemi Cloud Servers in AmsterdamPays-Bas Chemi Cloud Servers in TorontoCanada Chemi Cloud Servers in SydneyAustralie
Comparer
Score - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Mensuel


Emplacements des serveurs


Oudel Servers in UnionÉtats Unis
Comparer

 

Node.js

 

 

Node.js est un runtime JavaScript multiplateforme open source qui s'exécute sur des serveurs. Depuis sa sortie en 2009, cette plateforme est devenue extrêmement populaire et joue un rôle très important dans le domaine du développement web ces jours-ci. Si nous considérons le nombre d'étoiles qu'un projet a collecté sur GitHub comme un indicateur de popularité, alors Node.js, qui compte plus de 50000 étoiles, est un projet très, très populaire.

 

La plate-forme Node.js est basée sur le moteur JavaScript V8 de Google, qui est utilisé dans le navigateur Google Chrome. Cette plate-forme est principalement utilisée pour créer des serveurs Web, mais sa portée ne se limite pas à cela.

 

Regardons les principales fonctionnalités de Node.js.

 

La vitesse

 

L'une des principales attractions de Node.js est la vitesse. Le code JavaScript exécuté dans Node.js peut être deux fois plus rapide que le code écrit dans des langages compilés comme C ou Java, et des ordres de grandeur plus rapides que des langages interprétés comme Python ou Ruby. La raison en est l'architecture non bloquante de la plateforme, et les résultats spécifiques dépendent des benchmarks utilisés, mais dans l'ensemble, Node.js est une plateforme très rapide.

 

Simplicité

 

La plate-forme Node.js est facile à apprendre et à utiliser. En fait, c'est carrément très simple, surtout par rapport à d'autres plates-formes de serveurs.

 

JavaScript

 

JavaScript est exécuté dans l'environnement Node.js. Cela signifie que des millions de développeurs frontaux qui utilisent déjà JavaScript dans le navigateur peuvent écrire du code côté serveur et côté client dans le même langage de programmation sans avoir à apprendre un tout nouvel outil pour passer au développement côté serveur.

 

Le navigateur et le serveur utilisent les mêmes concepts linguistiques. De plus, Node.js peut rapidement passer aux nouvelles normes ECMAScript au fur et à mesure de leur implémentation sur la plate-forme.

 

Il n'est pas nécessaire d'attendre que les utilisateurs actualisent leur navigateur pour cela, car Node.js est un environnement côté serveur entièrement sous le contrôle du développeur. Par conséquent, de nouvelles fonctionnalités linguistiques deviennent disponibles lorsque vous installez une version de prise en charge de Node.js.

 

Moteur V8

 

Au cœur de Node.js, entre autres solutions, se trouve le moteur JavaScript open-source V8 de Google, qui est utilisé dans Google Chrome et d'autres navigateurs. Cela signifie que Node.js tire parti des milliers d'ingénieurs qui ont rendu l'exécution de JavaScript Chrome incroyablement rapide et continuent de travailler à l'amélioration de V8.

 

Asynchronie

 

Dans les langages de programmation traditionnels (C, Java, Python, PHP), toutes les instructions sont bloquantes par défaut, à moins que le développeur ne s'occupe explicitement d'exécuter le code de manière asynchrone. Par conséquent, si, par exemple, dans un tel environnement, vous faites une demande réseau pour télécharger du code JSON, l'exécution du flux à partir duquel la demande est faite sera suspendue jusqu'à ce que la réponse soit reçue et traitée.

 

JavaScript facilite beaucoup l'écriture de code asynchrone et non bloquant à l'aide d'un seul thread, de rappels et d'une approche de développement basée sur les événements. Chaque fois que nous devons effectuer une opération lourde, nous transmettons un rappel au mécanisme approprié, qui sera appelé immédiatement après la fin de cette opération. En conséquence, il n'est pas nécessaire d'attendre les résultats de ces opérations pour que le programme continue de fonctionner.

 

Un mécanisme similaire est né dans les navigateurs. Nous ne pouvons pas nous permettre d'attendre, disons, unAJAXdemander de terminer sans pouvoir répondre aux actions de l'utilisateur, telles que les clics sur des boutons. Pour faciliter le travail des utilisateurs avec les pages Web, tout, à la fois le téléchargement de données à partir du réseau et le traitement des clics de bouton, doit se produire simultanément, en temps réel.

 

Si vous avez déjà créé un gestionnaire d'événements de clic de bouton, vous avez déjà utilisé des techniques de programmation asynchrone.

 

Les mécanismes asynchrones permettent à un seul serveur Node.js de gérer simultanément des milliers de connexions sans alourdir le programmeur avec des tâches de gestion des threads et d'exécution de code parallèle. De telles choses sont souvent des sources d'erreur.

 

Node.js fournit au développeur des mécanismes d'E / S de base non bloquants et, en général, les bibliothèques utilisées dans le framework Node.js sont écrites à l'aide de paradigmes non bloquants.Cela fait du comportement de blocage l'exception plutôt que la norme.

 

Lorsque Node.js a besoin d'effectuer une opération d'E / S, telle que le chargement de données depuis le réseau, l'accès à une base de données ou au système de fichiers, au lieu de bloquer le thread principal en attendant les résultats d'une telle opération, Node.js lancera son exécution et continuez à faire d'autres choses jusqu'à ce que les résultats de cette opération soient reçus.

 

Bibliothèques

 

Avec la facilité et la commodité de travailler avec un gestionnaire de packages pour Node.js appelé npm, l'écosystème Node.js est en plein essor. Il y a maintenant plus d'un demi-million de packages open source dans le registre npm que tout développeur Node.js peut utiliser librement.

 

Après avoir passé en revue certaines des principales fonctionnalités de la plate-forme Node.js, essayons-la en action. Commençons par l'installation.

 

 

Node.js

 

 

Installation de Node.js

 

Node.js peut être installé de différentes manières, que nous aborderons dans un instant. Ainsi, les packages d'installation officiels pour toutes les principales plates-formes peuvent être trouvés.

 

Il existe un autre moyen très pratique d'installer Node.js, qui consiste à utiliser le gestionnaire de packages fourni dans le système d'exploitation. Par exemple, le gestionnaire de packages macOS, qui est la norme de facto dans ce domaine, s'appelle Homebrew.

 

Si vous en avez un sur votre système, vous pouvez installer Node.js en exécutant cette commande sur la ligne de commande:

 

noeud d'installation de brassage

 

Une liste des gestionnaires de packages pour d'autres systèmes d'exploitation, y compris Linux et Windows, est disponible ici.

 

Un gestionnaire de version Node.js populaire est nvm. Cet outil vous permet de basculer facilement entre différentes versions de Node.js, avec son aide, vous pouvez, par exemple, installer et essayer une nouvelle version de Node.js, puis, si nécessaire, revenir à l'ancienne. Nvm est également utile dans une situation où vous devez tester du code sur une ancienne version de Node.js.

 

Pour les débutants à utiliser les programmes d'installation officiels de Node.js. Pour les utilisateurs de macOS, on recommande d'installer Node.js à l'aide de Homebrew. Maintenant que vous avez installé Node.js, il est temps d'écrire "Hello World".

 

Première application Node.js

 

L'exemple le plus courant d'une première application Node.js est un simple serveur Web. Voici son code:

const http = require ('http')

const hostname = '127.0.0.1'

port const = 3000

serveur const = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('Content-Type', 'text / plain')

res.end ('Hello World \ n')

})

server.listen (port, nom d'hôte, () = & gt; {

console.log (`Serveur fonctionnant sur http: // $ {hostname}: $ {port} /`)

})

 

Pour exécuter ce code, enregistrez-le dans un fichier server.js et exécutez la commande suivante dans le terminal:

 

nœud server.js

 

Pour vérifier le serveur, ouvrez un navigateur et entrez dans la barre d'adresse http://127.0.0.1:3000, c'est-à-dire l'adresse du serveur qui sera affichée dans la console après son lancement réussi. Si tout fonctionne comme il se doit, la page affichera "Hello World".

 

Regardons cet exemple.

 

Tout d'abord, notez que le code contient la commande pour connecter le module HTTP.

 

La plate-forme Node.js dispose d'un excellent ensemble standard de modules, qui comprend des mécanismes bien développés pour travailler avec le réseau.

La méthode d'objet createServer () http crée un nouveau serveur HTTP et le renvoie.

 

Le serveur est configuré pour écouter sur un port spécifique sur un hôte spécifique. Lorsque le serveur est prêt, le callback correspondant est appelé, nous informant que le serveur est en cours d'exécution.

Lorsque le serveur reçoit une demande, un événement est déclenché par une demande qui fournit deux objets. Le premier est la requête (req, l'objet http.IncomingMessage), le second est la réponse (res, l'objet http.ServerResponse). Ce sont les mécanismes les plus importants pour gérer les requêtes HTTP.

 

Le premier nous fournit des informations sur la demande. Dans notre exemple simple, nous n'utilisons pas ces données, mais, si nécessaire, en utilisant l'objet, vous pouvez accéder aux en-têtes de la requête et aux données qui y sont passées.

 

Le second est nécessaire pour former et envoyer une réponse à une demande.

 

Dans ce cas, nous formons la réponse à la demande comme suit. Tout d'abord, nous définissons le code d'état de la propriété sur une valeur de 200, ce qui indique une opération réussie:

 

res.statusCode = 200

Ensuite, nous définissons le titre Content-Type:

res.setHeader ('Content-Type', 'text / plain')

Nous terminons ensuite la préparation de la réponse en ajoutant son contenu en argument à la méthode end ():

res.end ('Hello World \ n')

 

Nous avons déjà mentionné qu'un puissant écosystème s'est formé autour de la plate-forme Node.js. Discutons maintenant de quelques frameworks et outils d'aide populaires pour Node.js.

 

Frameworks et outils d'assistance pour Node.js

 

Node.js est une plate-forme de bas niveau. Afin de simplifier son développement et de faciliter la vie des programmeurs, un grand nombre de bibliothèques ont été créées. Certains d'entre eux sont devenus très populaires au fil du temps. Voici une petite liste de bibliothèques qui, à mon avis, sont bien faites et méritent d'être explorées:

 

Express: Cette bibliothèque fournit au développeur un outil extrêmement simple mais puissant pour créer des serveurs Web. La clé du succès d'Express a été une approche minimaliste et une concentration sur les mécanismes de base côté serveur sans essayer d'imposer une vision d'architecture de serveur «à guichet unique».

 

Météore: Il s'agit d'un puissant framework full-stack qui adopte une approche isomorphe pour développer des applications JavaScript et utiliser du code à la fois sur le client et le serveur. Autrefois, Meteor était un outil autonome comprenant tout ce dont un développeur pouvait avoir besoin. Il s'intègre désormais également aux bibliothèques frontales telles que React, Vue et Angular. Meteor, en plus de développer des applications Web communes, peut également être utilisé dans le développement mobile.

 

Koa: Ce framework web est construit par la même équipe derrière Express. S'appuyant sur des années d'expérience avec Express, il a été développé avec un accent sur la simplicité et la compacité. Ce projet est né comme une solution au problème des changements majeurs à Express qui sont incompatibles avec d'autres mécanismes de cadre qui pourraient diviser la communauté.

 

Next.js: Ce framework est conçu pour organiser le rendu côté serveur des applications React.

 

Micro: C'est une bibliothèque très légère pour créer des microservices HTTP asynchrones.

Socket.io. C'est une bibliothèque pour développer des applications réseau en temps réel.

 

En fait, dans l'écosystème Node.js, vous pouvez trouver une bibliothèque d'aide pour presque toutes les tâches. Comme vous pouvez l'imaginer, il faut beaucoup de temps pour construire un tel écosystème. La plate-forme Node.js est apparue en 2009. Au cours de son existence, il s'est passé beaucoup de choses qui devraient être connues d'un programmeur qui veut apprendre cette plate-forme.

 

Une brève histoire de Node.js

 

Node.js a 9 ans cette année. Ce n'est bien sûr pas tant quand on compare cet âge avec l'âge de JavaScript, qui a déjà 23 ans, ou avec l'âge de 25 ans du web tel que nous le connaissons si vous comptez depuis l'avènement de la mosaïque navigateur.

 

9 ans, c'est peu de temps pour la technologie, mais maintenant, il semble que la plate-forme Node.js ait toujours existé.

 

Avec Node.js des premières versions de la plateforme alors qu'elle n'avait que 2 ans. Même dans ce cas, malgré le fait qu'il n'y avait pas tellement d'informations sur Node.js, on pouvait déjà sentir que Node.js est très sérieux.

 

Parlons maintenant des technologies derrière Node.js et jetons un coup d'œilprincipaux développements liés à cette plateforme.

 

JavaScript est donc un langage de programmation créé dans Netscape en tant que langage de script pour manipuler les pages Web dans le navigateur Netscape Navigator.

Une partie des activités de Netscape consistait à vendre des serveurs Web, qui comprenaient un environnement appelé Netscape LiveWire. Il vous a permis de créer des pages Web dynamiques à l'aide de JavaScript côté serveur.

 

l'idée d'utiliser JS pour le développement côté serveur est beaucoup plus ancienne que Node.js. Cette idée est presque aussi ancienne que JavaScript lui-même, mais à l'époque en question, le JS côté serveur n'était pas populaire.

 

L'un des facteurs clés qui ont rendu la plate-forme Node.js si répandue et populaire est sa première apparition. Ainsi, quelques années plus tôt, JavaScript avait commencé à être considéré comme un langage sérieux. Cela s'est produit grâce aux applications Web 2.0 comme Google Maps ou Gmail, qui ont montré au monde entier la puissance des technologies Web modernes.

 

Grâce à la guerre concurrentielle des navigateurs, qui se poursuit à ce jour, les performances des moteurs JavaScript ont considérablement augmenté. Les équipes de développement derrière les principaux navigateurs travaillent chaque jour pour améliorer les performances de leurs solutions, ce qui a un effet bénéfique sur JavaScript en général.

 

L'un de ces moteurs est le V8 déjà mentionné, utilisé dans le navigateur Chrome et utilisé dans Node.js. C'est l'un des résultats des développeurs de navigateurs à la recherche d'un code JavaScript haute performance.

 

Bien sûr, la popularité de Node.js ne repose pas seulement sur une heureuse coïncidence et sur le fait que la plateforme est née au bon moment. Elle a présenté au monde une approche innovante du développement JavaScript côté serveur. Regardons les étapes majeures de l'histoire de Node.js.

 

2009


  • L'émergence de Node.js

  • Création de la première variante npm.

 

2010

  • L'apparition d'Express.

  • L'émergence de Socket.io.

 

2011


  • Version Npm 1.0.

  • De grandes entreprises comme LinkedIn et Uber ont commencé à utiliser Node.js.

 

2012


  • La montée en popularité rapide de Node.js.

 

2013


  • L'émergence de Ghost, la première grande plateforme de publications utilisant Node.js.

  • Libération de Koa.

 

2014


  • Des événements dramatiques ont eu lieu cette année. Le projet IO.js est apparu, qui est un fork de Node.js, dont le but, entre autres, était d'introduire le support ES6 et d'accélérer le développement de la plateforme.

 

2015


  • La Fondation Node.js est fondée.

  • Fusion de IO.js et Node.js.

  • Dans npm, il devient possible de travailler avec des modules privés.

  • Yield Node.js 4 (il convient de noter que les versions 1, 2 et 3 de la plate-forme ne l'étaient pas).

 

2016


  • Incident du paquet de la tablette gauche.

  • L'émergence du fil.

  • Version de Node.js 6.

 

2017


  • Npm commence à accorder plus d'attention à la sécurité.

  • Version de Node.js 8

  • L'émergence du support pour HTTP / 2.

  • V8 est officiellement reconnu comme un moteur JS conçu non seulement pour Chrome mais aussi pour Node.

  • Il y a 3 milliards de téléchargements de npm chaque semaine.

 

2018


  • Version de Node.js 10.

  • Prise en charge des modules ES.

  • Prise en charge expérimentale de mjs.