Node.js

Formateur: Fabio Ginja

Introduction

Qu'est-ce que Node.js?

Node.js est un runtime JavaScript basé sur le moteur V8 de Chrome. En somme, Node.js permet d'éxécuter du javascript sur n'importe quelle machine.

Il est principalement utilisé pour créer des serveurs web, mais il n'est pas limité à cette utilisation.

Avec Node.js on peut aussi:

  • Créer des API
  • Créer des applications bureautiques (electronjs)
  • Créer des applications mobiles (cordova, react native)
  • Ou plus simplement executer un certain traitement sur sa machine (calculs, manipulation de fichiers...)

Avantages

  • Rapide: Un des principaux avantages de Node.js est son incroyable vitesse d'éxécution comparé aux autres langages (notamment par sa nature non bloquante).
  • Simple: il repose sur du javascript. Vous pouvez donc mettre à profit le fait de connaître ce langage au niveau du frontend et du backend. De plus vous pourrez facilement utiliser les nouvelles fonctionnalités du langage.
  • Complet: vous pouvez contrôler tout les aspects de votre serveur.
  • Repose sur le moteur V8. Ce dernier étant open-source, il est régulièrement amélioré par la communauté.
  • Dispose de milliers de librairies boostant notre productivité.

Node.js est asynchrone

Node.js est single thread. C'est à dire que toutes les opérations passent par un seul process, ce dernier n'ayant qu'un seul thread. Toutes les requêtes passeront donc par le même thread.

Cela permet à node.js de gérer des milliers de connexions concurrentes et donc d'avoir une bonne scalabilité.

Il faudra cependant faire attention à ne pas bloquer le thread principal avec des opération intensives bloquantes.

Par conséquent, dés qu'une opération doit attendre une réponse, le thread délègue le traitement à l'event loop, et passe directement à l'opération suivante. Une fois la réponse obtenue, le thread principal pourra continuer le traitement initial avec le principe de callback.

Histoire de Node.js

  • 2009: Création de node.js et npm
  • 2010: Création d'Expressjs et Socket.io
  • 2011: LinkedIn et Uber adoptent node.js
  • 2012: Rapide croissance auprès des entreprises, le créateur de node se retire et laisse la main au créateur de npm
  • 2013: ghost (plateforme de blog) adopte node.js
  • 2015: Node.js passe à l'ES6 - Création de Node.js Foundation
  • 2018: le créateur de node crée Deno - Node.js v10
  • 2019: création de la fondation OpenJS

Installation

Téléchargement

On peut télécharger node.js directement sur le site officiel.

Deux versions sont disponibles. La dernière a les toutes dernières fonctionnalités mais peut contenir quelques  (rares) bugs. La version LTS est la version la plus stable.

Si node est correctement installé, on pourra ouvrir le terminal et taper la commande:

$ node --version
# Ou la version raccourcie:
$ node -v

Cela devrait afficher la version courante de node (ex. v14.15.0).

L'installation de node aura également pour effet d'installer npm (node package manager) de façon globale sur votre machine.

Notre premier serveur

Lancer un fichier avec Node.js

Pour lancer un fichier javascript se trouvant à la racine de notre disque C, il faudra écrire dans le terminal:

Cela aura pour effet d'éxécuter votre code, et éventuellement d'en voir le résultat sur votre terminal.

c:/> node monFichier.js

Next

Made with Slides.com