NodeJS est un langage de bas niveau reposant sur Javascript, ce qui lui apporte de multiples avantages :
- Il permet d'utiliser JavaScript côté serveur
- C'est un langage asynchrone qui permet de gérer plusieurs événements à la fois
- C'est un environnement de bas niveau (il ressemble davantage à du C ou du Python que du PHP)
- Il est beaucoup plus rapide que les autres langages (repose sur le moteur d'exécution V8 de Chrome)
- C'est un modèle non bloquant*
- Modèle bloquant : les actions sont réalisées les unes après les autres, le script ne peut pas réaliser d'autres actions tant que les précédentes n'ont pas été effectuées.
- Modèle non bloquant : les actions sont réalisées en parallèles, ce qui permet au script de réaliser une action pendant qu'une autre est en cours, l'exécution est de ce fait plus rapide.