af83

Node.js, un framework Js coté-serveur qui va faire du bruit

Lors d'OSDC.fr 2009, j'avais parlé de javascript coté serveur. Depuis, 2 mois se sont passés, et même si aucune révolution n'a lieu de ce coté, on sent une vague de fond poindre son nez :Node.js.

Node.js a beaucoup de points forts qui peuvent faire de lui une option sérieuse pour le développement d'applications coté serveur. Tout d'abord, il tourne avec V8, le moteur javascript de chez google, ce qui lui confère de très bonnes performances. Ensuite, il utilise une gestion événementielle des I/O, non-bloquante. EventMachine, Twisted ou encore Tornado font de même en Ruby ou Python, mais Node.js pousse le concept plus loin (les accès aux fichiers sont asynchrones, par exemple), et la syntaxe javascript s'y prête particulièrement bien. C'est vraiment un élément clé pour la scalabilité. Je ne m'étendrais pas sur cela, mais je vous conseille de lire les slides de la JS conf qui explique bien pourquoi c'est important. Enfin, Node.js utilise maintenant les modules de CommonJS, favorisant ainsi la réutilisation avec les autres frameworks JS.

Bref, Node.js a un gros potentiel, et la prolifération des frameworks (Picard, fab, Express, Djangode, Vroom, Node-router, Bomber…) et bibliothèques (tmpl-node, node-restclient, restclient, node-crypto, node-compress, cookie-node…) laisse penser que Node.js a un brillant avenir devant lui.

En pratique, Node.js s'installe facilement. Chez moi, ça donne :

 git clone git://github.com/ry/node.git
    cd node
    ./configure --prefix=$HOME
    make && make install

Un petit exemple pour la route :

   var tcp = require("tcp");

    var s = tcp.createServer();
    s.addListener("connection", function (c) {
        c.send("hello!");
        c.close();
    });

    s.listen(8000);

Et ce n'est pas plus compliqué à lancer :

 node hello.js

Testons quand même que cela fonctionne :

 ~% nc 127.0.0.1 8000
    hello!

Pour conclure, chapeau à Ryan Dahl. Il a écrit un framework permettant de construire facilement des applications web scalables, et au rythme où cela avance, je pense que l'on va beaucoup en entendre parler en 2010.

Avant de vous quitter, voici encore un peu de lecture sur le sujet :

Mise à jour : il suffit que je parle de Node.js, pour que d'autres gens racontent des choses intéressantes dessus. Du coup, voici 2 nouveaux liens :

blog comments powered by Disqus