Node.js : JavaScript côté serveur permettrait des gains en productivité et performances
Des entreprises US satisfaites de son adoption

Le , par Hinault Romaric, Responsable .NET
Selon plusieurs grandes sociétés américaines, le passage à Node.js sur leurs serveurs aurait permis accroître les performances des applications « backend » et simplifier le développement côté serveur.

À l’occasion d’une conférence Node.js organisée au sein du campus de PayPal, plusieurs entreprises américaines ont exposé sur les gains de performances obtenus suite au passage de la technologie qu’elles utilisaient vers Node.js.

La première d’entre elles est PayPal, qui avait dévoilé en décembre 2013 les résultats des travaux menés pour migrer ses applications de Java vers Node.js. En plus des gains de performances, PayPal avait vanté le gain de productivité, car toutes les piles de ses services reposaient désormais sur un seul langage : JavaScript. Et donc, une seule compétence.

Avant la fin de cette année, PayPal compte migrer toutes ses applications Web orientées client vers Node.js.


PayPal a été suivi par le service de Streaming Netflix, qui compte également déplacer son site Web de Java vers Node.js. L’entreprise a commencé avec les tests d’une solution Node.js et espère que celle-ci permettra un rendu plus rapide des pages. Elle se félicite déjà du gain en productivité : « Nous sommes habitués à travailler avec JavaScript le long de la journée. Pendant les six mois de travaille avec Node.js, Netflix a enregistré un gain important en productivité des développeurs », a déclaré Alex Liu, développeur Node.js chez Netflix.

Le site de ventre groupé Groupon a déclaré avoir migré son application côté serveur construite avec le framework Ruby on Rails vers Node.js. Cela aurait permis une réduction de 50 % du temps de chargement des pages et le même niveau de trafic que le logiciel serveur Ruby on Rails, mais avec, cependant, moins de ressources matérielles.

D’autres entreprises comme Yahoo, ou encore le géant de la distribution américaine Walmart ont également fait part des retombés obtenues avec Node.js.

Pour rappel, Node.js est un framework événementiel JavaScript, qui repose sur le moteur JavaScript V8 de Chrome. Node.js utilise un modèle événementiel I/O non bloquant, ce qui le rend idéal pour les applications qui s’exécutent en temps réel au travers des dispositifs distribués.

Pour faciliter le développement avec Node.js, PayPal a publié récemment Kraken, un framework sécurisé et évolutif, pour la création d’applications de qualité commerciale avec Node.js. Kraken est disponible en open source.

De son coté, Red Had a travaillé sur le projet Nodyn, qui vise à porter Node.js sur la machine virtuelle, afin de permettre une meilleure intégration entre les applications Java et Node.js

Télécharger Kraken

Télécharger Nodyn

Source : Les slides de la conférence, Paypal, Groupon

Et vous ?

Utilisez-vous Node.js ? Que pensez-vous de ses performances et déclarations de ces entreprises ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de ze0ne ze0ne - Membre habitué https://www.developpez.com
le 12/03/2014 à 12:22
Pour ma part j'ai découvert Nodejs l'an dernier et c'est un réel changement positif qui s'est opéré pour moi ou les personnes qui m'entour.
Je travail sur des applications initialement écrites en php (symfony2) avec une quantité innombrable d'appels ajax...

Aujourd'hui je remplace la quasi totalité de ces appels par des événements gérés par Nodejs et Socket.io c'est un vrai bonheur au niveau réactivité côté client et le serveur me remercie chaque jour

J'imagine les gains constatés par ses sociétés sur des applications aussi riches que lourdes...
Avatar de super_navide super_navide - Provisoirement toléré https://www.developpez.com
le 12/03/2014 à 12:43
Moi j'ai découver Node js dans mon boulot pour la réalisation d'un outil , c'est vrai pour faire un serveur web c'est efficace et c'est légé.
Pour faire un proto c'est ausssi hyper efficace , mais je pense pour une grosse application c moins efficace qu'un GRAILS+JAVA.
L'absence de typage ne permet pas de faire aussi en facilement du refactoring et des études d'impact en cas d'évolution.
L'absence de type ne permet pas de faire un diagramme de classe à partir du code non plus.
Enfin je pense que Node js est quand même à connaître , car il peut permetre de réaliser rapidement des outils.
Avatar de valkirys valkirys - Membre expérimenté https://www.developpez.com
le 12/03/2014 à 13:36
Citation Envoyé par Alex Liu chez Netflix  Voir le message
« Nous sommes habitués à travailler avec JavaScript le long de la journée. Pendant les six mois de travaille avec Node.js, Netflix a enregistré un gain important en productivité des développeurs »

Pas étonnant car passer de "je fais du Jquery 3 jours par mois et du PHP le reste du temps" à du javascript plein temps doit-être très bénéfique...
Avatar de la.lune la.lune - Membre chevronné https://www.developpez.com
le 12/03/2014 à 16:21
Il faut bien préciser, dire tout simplement une machine virtuelle n'a pas de sens quelle machine virtuelle?
De son coté, Red Had a travaillé sur le projet Nodyn, qui vise à porter Node.js sur la machine virtuelle[JAVA], afin de permettre une meilleure intégration entre les applications Java et Node.js

J'ai lu l'article qui parle de l'intégration de NodeJS en Java, l’objectif réel ce n'est pas juste faire NodeJS en sur le JVM, mais de permettre aux applications Java de bénéficier des avantages de NodeJS
Avatar de marc.collin marc.collin - Membre confirmé https://www.developpez.com
le 12/03/2014 à 21:04
dans un autre ordre d'idée, pour développer avec le même langage côté client/serveur, il y a GWT.

Pour les quelques projets où j'ai pu l'utiliser, le gain en productivité était assez important.
Avatar de plawyx plawyx - Membre expérimenté https://www.developpez.com
le 12/03/2014 à 21:27
Citation Envoyé par marc.collin  Voir le message
dans un autre ordre d'idée, pour développer avec le même langage côté client/serveur, il y a GWT.

GWT , quand tu as des gros projets, cela devient vraiment très lourd et difficilement gérable.

Par contre, depuis que j'ai découvert AngularJs et plus spécialement, AngularDart, la question du GWT est réglé. En connaissant le java, c#, le dart s'apprend en deux heures et tu fais des IHM très souples et véloces.
Avatar de jerome25000 jerome25000 - Nouveau Candidat au Club https://www.developpez.com
le 14/03/2014 à 22:47
Je m'étonne fortement de l'engouement aujourd'hui autour de Node.js. C'est la grande mode tout le monde ne parle plus que de ça, c'est le langage qui permet de tout faire plus rapidement, plus facilement et passionne toute la communauté open source (ou presque). On lit de plus en plus que Java est un gros dinosaure qu'il faut abandonner car jugé trop lourd, trop complexe. Java fêtera ses 20 ans en 2015. Bon anniversaire !

Node.js est basé sur Javascript langage que personnellement je trouve assez mal foutu disons surtout qu'il n'a pas évolué comme il aurait du au fil des années, il a bientôt 20 ans lui aussi. Javascript ne gère pas de package comme en java ou c#, il n'est pas vraiment objet, ne gère pas les annotations comme en java ou python. Javascript dont le nom est plus proche de "script" que java n'est donc pas très à l'aise pour développer de grosses applications. Disons qu'il traîne un lourd héritage de compatibilité de navigateur. Pour preuve Google aimerait le supplanter pour son prometteur Dart.

Node.js langage encore très jeune (la version 1.0 n'est toujours pas disponible) et immature est basé sur le langage javascript (mais pas compatible à 100% avec lui) impose un modèle de programmation 100 % asynchrone mono thread. Avez vous déja essayé de développer une lourde application 100% en asynchronisme ? Tous les appels doivent etre asynchrone avec un paramètre callback (méthode qui sera rappelé à la fin de l'exécution). L'apprentissage est loin d'être simple. Essayer un peu et vous regretterez vite d'avoir lâché votre langage objet et votre framework préféré.

Alors oui effectivement node.js est probablement plus rapide pour gérer un "front end" web pour renvoyer des pages web et exécuter quelques processus simples. Mais une application complète ? Noooon !
Et d'ailleurs l'argument de dire que node.js bat java en terme de performance pure est faux car java lui aussi peut gèrer des requêtes avec un modèle asynchrone comme Vert.x. Voir le lien : http://www.cubrid.org/blog/dev-platf...n-with-nodejs/

Le problème d'une langage comme java c'est qu'il possède aujourd'hui tellement de framework qu'on peut vite faire les mauvais choix et comme node.js n'en possède aujourd'hui aucun (pas de gestion ORM) on ne peut se tromper de framework !

Node.js propose de très nombreuses librairies mais peu sont matures et bien documentées. NPM qui permet de gèrer les téléchargements des packages nécessaires à votre application Node.Js est loin derrière Maven en terme de possibilité et de souplesse. La encore on peut invoquer le manque total de maturité.

Avec Node.js j'ai l'impression de développer comme il y a 10 ans en java avec JDBC en direct en codant à la main toutes les requètes SQL pour sauver mes données en base. Je n'appelle pas cela du progrès mais plutôt de la nostalgie... ;-)
Avatar de jerome25000 jerome25000 - Nouveau Candidat au Club https://www.developpez.com
le 14/03/2014 à 22:51
Citation Envoyé par la.lune  Voir le message
Il faut bien préciser, dire tout simplement une machine virtuelle n'a pas de sens quelle machine virtuelle?

J'ai lu l'article qui parle de l'intégration de NodeJS en Java, l’objectif réel ce n'est pas juste faire NodeJS en sur le JVM, mais de permettre aux applications Java de bénéficier des avantages de NodeJS

Quels avantages à faire du node.js ? Désolé, java peut lui aussi faire de l'asynchronisme....
Avatar de Ronfladonf Ronfladonf - Futur Membre du Club https://www.developpez.com
le 17/03/2014 à 10:45
Y'en a qui disent qu'on peut écrire le même javascript entre un navigateur et un Node.
Ca ferait des développeurs plus polyvalents avec une seule compétences.
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 17/03/2014 à 11:13
Citation Envoyé par Ronfladonf  Voir le message
Y'en a qui disent qu'on peut écrire le même javascript entre un navigateur et un Node.
Ca ferait des développeurs plus polyvalents avec une seule compétences.

même s'il force un peu le trait, je suis assez d'accord avec certains des arguments de ce billet
Offres d'emploi IT
Ingénieur intégration, validation, qualification du système de drone H/F
Safran - Ile de France - Éragny (95610)
Architecte systèmes études & scientifiques H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil