L'équipe de développement de Node.js vient d'annoncer la sortie de la version 0.10. Cette nouvelle mouture intègre un nouveau module pour faciliter la gestion des flux, une meilleure gestion des erreurs et une amélioration des performances. L'équipe annonce également qu'il y aura encore une version stable supplémentaire (0.12) avant la version 1.0 du produit.
La gestion des flux est une des parties les plus importantes de Node.js. Ils ont subi une vraie revue et des modifications conséquentes dans la nouvelle version. Pour manipuler des flux, le framework propose une API qui permet de lire et écrire des flux de manière complètement indépendante du support, que ce soit un fichier, un processus en cours d'exécution ou une socket. Avant la version 0.10, les paquets de données étaient émis comme des évènements qui commençaient à arriver immédiatement quand le flux était ouvert. L'un des problèmes de ce mode de fonctionnement est que les paquets avaient tendance à commencer à arriver avant même que l'application n'ait le temps de commencer à écouter ces évènements. Dans la nouvelle version, ce fonctionnement reste disponible pour des raisons de compatibilités ascendante mais Node.js recommande désormais d'écouter un readable event et, lorsqu'il arrive, d'explicitement appeler .read() pour récupérer les données bufférisées. Avec ce principe de fonctionnement, le processus est beaucoup plus fiable et mieux maitrisé.
Avant la version 0.8 de Node.js, les exceptions qui n'étaient pas gérées provoquaient le crash complet du serveur. Pour éviter ce problème et donner une maitrise plus fine de ces erreurs, la version 0.8 avaient introduit une version expérimentale des domaines. Les domaines sont un mécanisme pour limiter les zones de dégâts... Par exemple, il est possible de créer un domaine pour chacune des requêtes HTTP qui arrivent sur le serveur. Si l'exécution du code dans ce domaine déclenche une exception, c'est seulement ce domaine et donc cette requête HTTP qui va être affecté laissant le serveur et les autres requêtes s'exécuter normalement. Dans la version 0.10, les domaines ont été élevés du statut "experimental" au rang de "unstable", un certain nombre de problèmes ont été corrigés et ils fournissent maintenant de plus amples informations de débogage.
La communauté Node.js a sensiblement grandi durant les dernières années et les entreprises s'intéressent de plus en plus au projet. En conséquence, The Node Firm et StrongLoop proposent des offres payantes de support, conseil et de formation. StrongLoop a également lancé une version beta de StrongLoop Node, une distribution de Node.js qui embarque également un ensemble de modules supplémentaires. La société suit donc le même modèle que Typesafe avec la communauté Scala.
Les binaires de la version officiel de Node.js 0.10 peuvent être téléchargé pour tous les systèmes d'exploitation (Windows, Mac, Linux, Solaris). Mais bien sûr, comme Node.js est un projet open source vous pouvez également télécharger son code source.