:::: MENU ::::

5 points pour comprendre io.js

Une des premières grandes nouveautés dans le monde du javascript cette année est l’arrivée de io.js, un fork de node.js. Sorti cette semaine, c’est l’occasion de faire le point.

io.js c’est quoi ?

C’est un fork de nodejs, le désormais célèbre portage du moteur javascript V8 comme plateforme indépendante.

Nodejs est la propriété de Joyent. Le code reste ouvert mais les mises à jour sont gérées par l’entreprise et du fait de la stagnation du projet ces derniers temps, les contributeurs diminuent peu à peu leur implication . En 2014, une partie de l’équipe du projet décide d’agir et d’initier Node Forward dans le but de faire évoluer node.js avec un vrai esprit communautaire.

Après « quelques » négociations sort io.js. Le projet est toujours open source mais utilise un modèle de gouvernance ouvert constitué d’un comité technique et de plusieurs collaborateurs, contrairement à node.js qui est totalement géré par Joyent.

sporks

On parle aussi de spork plutôt que de fork car il n’y a pas de scission profonde entre io.js et node.js. En effet les principaux contributeurs de io.js sont issues de node.js

Dans quel but ?

Faire bouger les choses autour de node.js. L’idée dans un premier temps n’est pas de remplacer node mais de le faire évoluer avec un cycle de développement plus court et en incluant notamment le support d’Ecmascript 6.

Quelles différences vs node.js ?

Fondamentalement, io.js possède une base de nodejs 0.10.35 ce qui veut dire que théoriquement l’éco-système npm est compatible et que vous pouvez utiliser io.js à la place de node  .

Une des grande nouveauté et l’utilisation de semver pour le nommage des versions. La première release de io.js se nomme donc logiquement 1.0.0 et elle introduit de nombreuses améliorations parmi lesquelles :

  • Une mise à jour du moteur V8
  • L’intégration d’Ecmascript 6 sans flag ( sans le –harmony de node.js)
  • Deux nouveaux modules « bas niveau » smalloc et v8
  • Une nouvelle documentation

Quels changements sur le code ?

Le gros plus est clairement l’apport d’Ecmascript 6 nativement , le reste est inchangé.

Voici les fonctionnalités supportées par le moteur V8 actuel :

Enfin sachez qu’une intégration dans nvm  le gestionnaire de version de node.js, est prévue .

Quel avenir pour nodejs ?

Un futur merge avec io.js est probable . Nodejs serait alors en quelque sorte une version « entreprise » et io.js une branche plus expérimentale. Joyent en tout cas est favorable à une intégration des évolutions de io.js .

Bonus : Quel est le nom officiel ?

Le nom officiel est io.js ( en minuscule et avec le . )

Un logo ?

Pour l’instant le choix du logo est en discussion mais vous pouvez toujours proposer vos créations et idées.

 


  • Le lien vers semver est faux :x

    • maxdow

      Merci ! :) c’est corrigé j’ai même mis la doc en français pour le coup ;)