Développement : faut-il se tourner vers Node.js à l’avenir ?

Node.js : la technologie qui monte, qui monte… et qui monte encore.

Le sujet n’est pas nouveau chez les développeurs. Depuis son lancement en 2009, Node.js n’en finit pas de faire des émules. Entre les anti et les pros, les avis sont partagés : certains voient en lui l’avenir de la programmation, d’autres ne comprennent pas l’engouement suscité.

 

Node.js Google Trends

De 2011 à 2017 : l’intérêt grandissant pour Node.js sur Google Trends

 

Mais d’abord, Node.js qu’est-ce que c’est ? Et en quoi cette techno pourrait être utile à votre site web ou e-commerce ?

Node.js est un environnement open-source permettant de développer des applications multi-plateformes. Basé sur le V8 de Google, le moteur d’exécution JavaScript utilisé dans Chrome, Node.js traite donc les données en JavaScript. 1ère surprise : avec Node, l’écriture se fait en JavaScript non plus uniquement côté client, mais également côté serveur ! Node vient ainsi concurrencer les autres langages serveurs que sont par exemple PHP ou Java.

Si Node.js peut effectivement être utilisé comme serveur sans avoir besoin d’une solution externe tels que Apache ou lighttpd, il reste avant tout une plateforme de développement JavaScript permettant de répondre à de nombreux besoins clients/serveurs grâce à la mise à disposition d’une API.

Les avantages et fonctionnalités de Node.js

  • Gestion des entrées/sorties en utilisant des IO non-bloquante permettant la réalisation d’actions asynchrones
  • Même langage pour le développement front-end et back-end : le code se fait en JavaScript côté serveur et côté client, ce qui permet d’augmenter la productivité
  • Haute performance
  • Configuration facile
  • Une communauté de passionnés ultra dynamique : l’une des plus actives sur GitHub
  • Grande disponibilité de modules faciles à installer grâce au gestionnaire NPM (Node Package Manager) spécifiquement dédié à Node.js

Les centaines de milliers de modules ajoutés par les développeurs de la bouillonnante communauté permettent de s’inspirer et offrent la possibilité de faire pleins de choses sans partir de zéro en devant TOUT coder. Ce grand soutien de la communauté facilite le partage de bouts de code fonctionnels tout en ayant un accès complet au code source.

 

La grande force de Node.js : gestion asynchrone des événements

En permettant le développement dans le même langage de programmation à la fois côté client et serveur, les performances de Node.js ont de quoi séduire les adeptes de la rapidité. L’utilisation de Node en tant que serveur web le rend par ailleurs capable de traiter un gros volume de requête simultanément de manière efficace.

Cette performance élevée s’explique notamment par sa conception asynchrone permettant d’éviter les attentes. Avec Node, plusieurs requêtes peuvent être effectuées en même temps. Pas besoin d’attendre qu’une action longue soit terminée pour en lancer une autre !

Comparativement à PHP, cela permet un gain de temps considérable. En effet, PHP exécute les requêtes de façon séquentielle : le client attend la réponse du serveur avant de pouvoir lancer d’autres opérations. L’action A doit être terminée pour exécuter l’action B et ainsi de suite. Avec Node.js, le temps d’attente est réduit puisqu’il est orienté événement : il est donc capable d’exécuter plusieurs actions en même temps.

 

Node.js non bloquant

Modèle non-bloquant © OpenClassRooms

 

À ce titre, le service de paiement en ligne PayPal, qui a adopté Node.js, a rapporté que son nombre de requêtes reçues par seconde avait doublé et ainsi diminué le temps de réponse de 200 millisecondes, soit de 35%.

Un autre point fort de Node.js ? Les streams. Ils permettront par exemple de traiter un fichier alors même que son téléchargement n’est pas terminé.

Cette performance accrue permet également de relancer JavaScript dans la course du mobile-friendly alors que Google annonçait cette année le lancement de son format AMP, sommant les éditeurs de site mobile de débarrasser leur code de JavaScript, considéré comme peu performant.

 

Quand utiliser Node.js ?

Node.js présente un nombre de fonctionnalités impressionnantes pour favoriser l’expérience utilisateur dans un environnements multi-connecté. Ses domaines d’applications sont donc nombreux :

  • E-commerce
  • Traitement des paiements
  • Services en temps réel
  • Média sociaux
  • Jeux vidéo
  • Sondage
  • Notifications
  • Système de téléchargement

Nativement, Node.js supporte les websockets qui permettent la mise en place d’applications réactives face à un volume de requêtes importants à traiter en temps réel. Avec Node, la transmission de données au client est automatisée : une action effectuée par un utilisateur se répercute directement sur les autres utilisateurs. En d’autres termes, dès qu’une nouvelle information est disponible, elle est automatiquement mise à disposition.

Cela s’avère donc très utile pour des projets nécessitants du temps réel. Le temps réel : un concept qui change la donne. Il offre la possibilité de gérer et connecter efficacement un volume important de personnes. En 2013, le site e-commerce Walmart a par exemple utilisé Node.js avec réussite lors du Black Friday, le jour le plus important de l’année en termes de trafic e-commerce aux Etats-Unis.

Prenons l’exemple d’un chat. Au lieu d’une page se rechargeant automatiquement pour faire apparaître les nouveaux messages, la conversion s’affiche en temps réel. Très utile pour mettre en place un chat avec un support technique dans l’optique d’améliorer le service offert au client d’un e-commerce. À titre d’exemple, le chat et le moteur de recherche de Facebook sont partiellement développés avec Node.js.

Les entreprises confrontées au défi de développer des applications pour répondre à des changements rapides sont donc particulièrement concernées par Node.js. Réactivité, performance et capacité de supporter une volumétrie de requête importante sans serveur dédié font ainsi de Node.js une technologie à envisager pour la création d’un e-commerce.

 

Node.js séduit les grands acteurs du web

La fiabilité de Node.js fait débat au sein de la communauté des développeurs. Pourtant, de nombreuses entreprises l’ont déjà adopté.

En 2015, IBM faisait l’acquisition de StrongLoop, les constructeurs du très populaire projet open-source Express.js. Et d’autres grandes entreprises ont opté pour Node.js : Microsoft, IBM, Yahoo!, Netflix, Groupon ou encore PayPal qui, en 2013, migrait ses applications de Java vers Node.js.

Dernièrement, LinkedIn reconsidérait son infrastructure serveur mobile et passait ainsi de Ruby on Rails à Node.js. Résultats ? De meilleures performances (jusqu’à 20 fois plus rapide) et plus de scalabilité !

Du côté de Netflix, on se vante depuis la réécriture de son site en Node.js d’un gain de productivité et d’un affichage de page plus rapide. Le site d’achats groupés Groupon, passé de Ruby on Rails à Node.js, se targue quant à lui d’une diminution de 50% du temps de chargement de ses pages.

Et si ces exemples ne suffisent pas à vous impressionner, sachez que La NASA a récemment déclaré utiliser Node.js pour « développer des systèmes accompagnant les opérations spatiales actuelles et futures ». Pour organiser les sorties dans l’espace, rien que ça !

 

Frameworks Node.js

Après avoir installé Node.js, les développeurs ont le choix entre plusieurs frameworks pour les aider à développer des sites web rapides, scalables et en temps réel.

En générant les bases d’un projet, les frameworks permettent de ne pas partir de rien. Node.js regroupe un tas de frameworks extras, mais s’il ne fallait retenir que les frameworks Node.js les plus performants et populaires, ils seraient au nombre de quatre :

  • Express.js : un « micro-framework » open-source sous licence MIT, particulièrement flexible.
  • Meteor.js : un framework full-stack conçue pour simplifier la création d’applications web qui se synchronisent en temps réel avec le serveur.
  • React.js (Facebook) : une bibliothèque JavaScript conçue pour faciliter la création d’applications web monopage.
  • Angular.js (Google) : un framework JavaScript open-source dédié au développement d’applications web monopage.

 

Rapide, aisé à utiliser et facile à apprendre en ayant une pratique JavaScript… Toutes ces raisons ayant poussé de grandes entreprises à franchir le cap font que Node.js mérite vraiment d’être pris au sérieux pour 2017.

Car oui, Node.js est bien parti pour rester.

En réponse à "Développement : faut-il se tourner vers Node.js à l’avenir ?"

  1. shadow dit :

    wow super merci bcp!!!!

  2. Emmanuel dit :

    Article intéressant, mais qui me laisse tout de même perplexe : combien de sites ont réellement besoin du boost de performances que peut apporter nodeJS ? En dehors d’amazon, facebook ou wallmart, probablement assez peu.

    Par ailleurs il me semble ambitieux de qualifier nodeJS de « facile à apprendre » : la programmation asynchrone n’a rien d’intuitif, et on a vite fait de se retrouver avec un méga plat de nouilles en guise de code !

    Et enfin, cela fait longtemps – et bien avant nodeJS – que l’on sait faire des chats qui ne rechargent pas toute la page : nodeJS est une techno serveur, ce n’est pas lui qui gère le client.

    Tout cela pour dire que, oui nodeJS est un langage puissant, et oui il peut être intéressant de se poser la question sur de grosses infras. De la a l’utiliser partout et systèmatiquement, j’ai franchement des doutes.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Rechercher
Bienvenue sur le blog de l’agence Alioze !
Il regorge de conseils & de news sur toutes les tendances du web, e-commerce, SEO et de la communication.

L’agence Alioze se situe au 32 rue Fondary, 75015 Paris

hello@alioze.com +33 (0) 1 45 77 75 04
Vous cherchez une agence pour la création de votre site internet ?  Contactez nous