6 raisons de choisir Node.js

Node.js s'est imposé aussi bien chez les géants du web que dans la stack technique des start-ups. Si vous n'êtes pas encore convaincu, voici six bonnes raisons d'utiliser Node.js.

1 - Fullstack JavaScript : gain de temps et d'argent

Avant Node.js, JavaScript était uniquement utilisé pour le développement frontend (côté client). Il était nécessaire d'utiliser un autre langage de programmation pour la partie backend (côté serveur). En pratique, vous étiez obligé d'avoir deux équipes de développeurs, une pour le frontend et une autre pour le backend. Avec la popularité croissante de Node.js, le mythe du développeur fullstack est devenu réalité. Aujourd'hui, il est possible de coder les deux parties d'une application web en JavaScript. C'est un gain de temps pour le développeur et une économie d'argent pour l'entreprise.

Retour d'expérience d'une stack Ruby / React

Un CTO ayant deux langages doit choisir entre deux stratégies de management :

  • Stratégie n°1 - Tous nos développeurs sont fullstacks. Ce choix est intéressant pour le manager. Cela lui offre la liberté d'attribuer les sujets à n'importe quel développeur. Par contre, côté developpeur c'est la frustration assurée : allez dire à votre développeur JS sénior de déboguer une fuite mémoire en Ruby. Et entre les développeurs, c'est une source de trolls infinie qui se traduit par une mauvaise ambiance.

  • Stratégie n°2 - Gérer deux équipes dédiées : les fronts et les backs. Les développeurs back devront mettre l'accent sur la qualité, la performance et la sécurité. Côté front, c'est d'autres enjeux et d'autres complexités. Il fait donc sens de séparer les équipes, mais côté management et projet c'est toujours beaucoup plus complexe.

Avec une stack full JavaScript, ces difficultés disparaissent. Tous les développeurs peuvent intervenir sur tout votre code et échanger avec tous les autres développeurs sur les stratégies à adopter.

2 - Des performances optimales

Node.js est une plateforme logicielle libre en JavaScript intégrant un serveur HTTP. Son fonctionnement est basé sur une boucle événementielle lui permettant de supporter de fortes montées en charge.

Boucle événementielle en Node.js

L’utilisation de Node.js en tant que serveur web permet de traiter un gros volume de requêtes simultanément de manière efficace. Cette performance élevée s’explique par une conception asynchrone (modèle non bloquant) permettant d’éviter les attentes. Ainsi, plusieurs requêtes peuvent être lancées en parallèle. Les résultats sont traités au fil de l'eau.

Node utilise le compilateur JavaScript V8 de Google focalisé sur les performances et la sécurité. A l'origine, la machine virtuelle V8 a été créée pour interpréter le JavaScript dans le navigateur Chrome. Merci aux développeurs de Google, le moteur V8 est et restera à la pointe de la technologie. Par ricochet, les progrès de V8 impactent directement Node.js.

3 - Les développeurs Node aiment le partage

Node.js rassemble une grande communauté de développeurs passionnés. Il existe des Mooc, des webinaires ou des cours en ligne pour apprendre à utiliser Node.js.

Les articles spécialisés et les événements permettent de partager les avancées de Node.js. Des Meetup, des conférences ou des formations sont accessibles dans toutes les grandes villes.

Le gestionnaire de packages npm

Initialement gestionnaire de packages de Node.js, npm est aujourd'hui le gestionnaire de packages du monde JavaScript. On y trouve aussi bien des modules pour le backend que pour le frontend.

Les développeurs sont très actifs. Ils contribuent constament à l'amélioration des librairies Node.js au point d'en faire un problème à part entière : la JavaScript fatigue.

Comparaison des gestionnaires de packages

Npm compte aujourd'hui plus de 500 000 packages et le nombre ne cesse d'augmenter, bien plus rapidement que pour les autres langages.

4 - Les meilleurs outils pour développer

Comme un artisan, un développeur a besoin de bons outils pour prendre du plaisir à créer. Node.js a permis l'émergence de nombreux outils d'une qualité sans égal avec les autres écosystèmes.

On compte par exemple :

  • L'inspecteur Chrome
    C'est le même qui est utilisé pour déboguer le CSS d'un site web. Grâce à lui, vous pouvez maitenant analyser les fuites mémoires ou profiler le CPU.

  • Prettier
    Le formateur de code exceptionnel pouvant être installé directement dans votre éditeur de code.

  • ESLint
    Un linter qui analyse les fichiers sources du projet pour alerter le développeur sur : les variables qui n'existent pas ou qui ne sont pas utilisés, les doubles déclarations, la mauvaise organisation du code, les erreurs de syntaxe... Vous pouvez utiliser des styles de développement déjà établis comme AirBnb ou créer vos propres règles.

5 - JavaScript is eating the world

Node.js c'est avant tout du JavaScript et du JS il y en a partout. Voilà quelques exemples d’utilisation de JavaScript aujourd’hui :

  • Les éditeurs de code Atom ou Visual Studio Code sont tous deux basés sur Electron, une technologie elle-même basée sur Node.js
  • Les macros Excel ou Google Sheets sont aujourd'hui écrites en JavaScript
  • Les développements d'application web que ce soit frontend ou backend
  • Les objets connectés (IOT) sont développés en JavaScript (voir Johnny Five)
  • Les développements mobiles peuvent être réalisés avec React Native
  • Les plugins Sketch sont développés en JS

Coder en JavaScript au jour le jour vous donne l'avantage d'être multitâche et de ne pas vous retrouver dans une voie sans issue.

6 - Une technologie stable et éprouvée

Node.js n’est plus la petite dernière des technologies. C'est une techologie utilisée et éprouvée par les géants du web : Netflix, Trello, PayPal, LinkedIn, Walmart, Uber, Medium, Groupon, Ebay ou la NASA.

Une politique très stricte a été mise en place au sujet des mises à jour et du suivi des versions Node.js. Les deux points importants sont les suivants :

  • Chaque mise à jour majeure est suivie d'une période de 18 mois de support actif + 12 mois de maintenance

Long Term Support de Node.js

  • Il n'y aura pas de gros "Breaking Changes" avec Node.js. Les versions successives ne casseront pas votre application et on ne vous demandera pas non plus d'apprendre TypeScript pour la version X. On peut dire que les nouvelles versions seront Smooth...

Ce support par les gros acteurs et cette politique de Long Term Support (LTS) donne à Node.js l'avantage d'être une technologie sûre et un bon choix sur l'avenir.

Conclusion

Node.js est et restera un bon choix si vous faites du web, il réconcilie vos développeurs, facilite le management, offre des performances optimales, une communauté super active, des outils à la pointe et une stabilité assurée.

Découvrez nos formations

React Fondamental
React Fondamental
Paris | 11 déc.

Découvrez la programmation React en une journée. Comprendre la philosophie et les bonnes pratiques de React afin d'être productif immédiatement.

React Avancé
React Avancé
Paris | 12-13 déc.

Apprenez les techniques avancées et créez des composants réutilisables afin de rendre votre application React performante et scalable.

Javascript Moderne
Javascript Moderne
Paris | 8-11 janv.

Apprenez comment créer un projet JavaScript moderne. Les bonnes pratiques, les nouveautés, les outils et le JavaScript d'aujourd'hui n'auront plus de secret pour vous !

GraphQL Intense
GraphQL Intense
Paris | 4-5 févr.

Découvrez comment déployer GraphQL côté serveur et côté client. Apprenez à structurer et à faire évoluer votre API de façon durable.