Node.js

Hello le verger,



Je créé ce post pour avoir des retours sur Node.js si vous l'utilisez.

Bon j'étais parti pour RoR mais mon maitre de stage m'a plutôt conseillé de me pencher sur Node.js qui selon lui va être de plus en plus adopté.



J'attends donc vos avis et retour sur ce framework image/smile.png' class='bbc_emoticon' alt=':)' />

Réponses

  • muqaddarmuqaddar Administrateur
    Jamais utilisé.

    Mais un pote (qui fait aussi du RoR) en est fan.

    Il a développé un jeu de belotte en temps réel avec node.js, qui semble marcher très bien.
  • J'ai l'impression que ça ressemble pas mal à  JEE
  • Je dirais que l'utilisation n'est pas la même qu'avec RoR.
  • J'ai personnellement du mal à  envisager utiliser une techno client-side sur du serveur pour faire de l'ouverture de socket et cie...



    Il y a pléthore d'autres langage et système plus adapté à  cela. Quitte à  détourner un langage pour du web, je ferais du CGI perso. (Mais bon, j'ai peut être un point de vue de vieux con avant l'heure ^^)
  • D'après ce que j'en ai vu, Node.js est au contraire très adapté pour jouer avec les sockets, surtout côté serveur.



    En fait la plupart des articles mal écrit présentent node.js comme du " javascript côté serveur", alors que la valeur ajoutée n'est pas dans le langage mais dans la gestion des I/O.



    C'est plus qu'un langage côté serveur comme php, c'est un framework orienté réseau.



    En gros là  où tu vas faire des dizaines de lignes de code pour mettre en place un serveur, attendre des connections, creer une tache par connections, etc. Sur Node.js, tu as juste à  écrire le code lié à  l'événement 'OnConnection', le framework se charge de cacher la complexité de l'OS et de sérialiser les événements pour que tu ne sois pas embêté avec les problèmes de concurrence.



    Sur le principe, cela aurait pu être un framework C, je pense que javascript a été choisi pour la souplesse de gestion des événements et la qualité du moteur d'execution V8.



    Après le côté non typé est à  mon avis un problème quand on commence à  gérer les flux d'octets, à  vouloir les découper, les chiffrer,etc.



    Les cas d'utilisations sont très variés et pas forcément lié au web. Je e sais même pas si on peut facilement remplacer du php ou du RoR par Node.js. Je ne sais pas si cela s'interface facilement avec le serveur Apache par exemple.



  • @Ceetix Je suis pas sur mais je crois que @jojolebg a déjà  testé, je lui demanderai demain au boulot si j'oublie pas... :-)
  • Non @Mistunk je n'ai encore jamais testé, mais c'est une techno qui m'interesse, et j'ai fais pas mal de veille sur nodejs.



    Par contre @Ceetix tu ne précises pas dans quel contexte tu veux utiliser NodeJs plutôt que ROR. Si c'est un contexte websocket c'est apparment adapté pour ce que tu veux faire. Si c'est dans un contexte orienté web (fournir des pages HTML, webservice etc...)

    Alors sa depend des outils que tu as besoins.



    Pour la partit framework web je te conseil de regarder le framework expressjs http://expressjs.com/ apparement très utilisé dans le monde nodejs.
  • groumpfgroumpf Membre
    juillet 2012 modifié #9
    D'après ce que j'ai compris Node.js est profondément asynchrone et ne fait tourner qu'un thread là  ou un conteneur de servlet à  un pool de threads mais le code est synchrone à  l'intérieur du thread. En Node.js il faut programmer de manière évenementielle (comme JS en fait) y compris pour les I/O.

    Le principe asynchrone est intéressant mais pourquoi faire du JS (qui est quand même l'assembleur du Web) alors que sur JVM il y a pléthore de langages compilés/typés ? De fait il y a des lib Java pour faire de l'asynchrone.
Connectez-vous ou Inscrivez-vous pour répondre.