Quelle est la différence entre node.js et io.js?


132

Quelle est la différence entre io.js et node.js ? Le plus récent io.jsest dérivé de node.js, et est en outre fabriqué par certaines des mêmes personnes qui l'ont fabriqué node.js.

Quelles sont les principales différences qui ont conduit à ce fork et qu'est-ce que cela signifie pour la communauté node.js dans son ensemble?



8
Les lecteurs doivent noter que, bien que la question ait du sens à l'époque, io.js et node.js ont depuis fusionné. En pratique, io.js n'existe plus vraiment.
Boinst

7
tl; dr Voir cette déclaration sur le site Web io.js : io.js a de nouveau fusionné avec le projet Node.js. Il n'y aura pas d'autres versions d'io.js. Toutes les fonctionnalités de io.js sont disponibles dans Node.js v4 et supérieur .
Boaz

Réponses:


123

io.js est un fork de Node.js de Joyent

Quelles sont les différences?

io.js:

  • Node-forward est fondamentalement fusionné dans io.js
  • bifurqué sur la base d'un développement mené par la communauté et de cycles de publication actifs
  • inclut de nombreux développeurs Node.js originaux
  • a pour objectif futur de "fusionner avec Node.js"

Ce référentiel a commencé comme un fork de GitHub de joyent / node où les contributions, les versions et la contribution sont sous un modèle de gouvernance ouvert.

Nous avons l'intention de débarquer, avec une régularité croissante, des versions compatibles avec l'écosystème npm qui a été construit à ce jour pour node.js.

Node.js:

  • le logiciel d'origine
  • a ralenti le développement ces derniers temps
  • sponsorisé par Joyent
  • Joyent est propriétaire de la marque Node.js

Pourquoi se sont-ils séparés?

Il était principalement divisé pour trois raisons: des versions plus rapides et plus actives et un développement vers une 1.0.0version, pour un développement plus axé sur la communauté plutôt que par le conseil consultatif , et l'utilisation de semver pour les versions.

Qu'est-ce que le conseil consultatif ?

Le comité consultatif était le plan de Joyent pour apporter à Node.js un moyen plus centralisé et plus rapide de planifier le développement et de planifier les fonctionnalités futures le long de la route vers une 1.0.0version. Cela devait être fait en mettant sur pied un conseil d'administration de plus grandes entreprises utilisant Node.js

Citation du blog de Joyent:

Au fur et à mesure que la communauté devient plus complexe, il est important que nous trouvions des moyens d'équilibrer les besoins de tous les constituants et de fournir une plate-forme permettant à ces organisations de se rassembler et de contribuer au projet.

Pourquoi le comité consultatif est-il détesté?

Auparavant, Node.js était exécuté via des listes de diffusion, des problèmes GitHub, et n'importe qui pouvait apporter son idée. Cette idée a commencé à susciter de la haine car elle détournait le contrôle de votre contributeur quotidien moyen et déplaçait le pouvoir vers les «grands»: des entreprises telles que Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix et PayPal .

Sources extérieures à ce sujet


Certains modules populaires ont également mis fin à la prise en charge de Node.js et sont passés à io.js (c.-à-d. Jsdom )
taco

9
Il a été en fait divisé en partie becasue de tout conflit qui a pris fin pronom de genre dans la plupart de leurs collaborateurs en laissant .. Il y avait d' autres raisons , mais qui était la goutte d' eau qui a fait déborder le vase
evandentremont

19
Le politiquement correct est absolument mauvais et n'a pas sa place dans un projet technologique (qui veut continuer à être un projet technologique). L'accent doit être mis sur les résultats et la méritocratie. Malheureusement, de plus en plus de projets adoptent ces politiques et attitudes. Mozilla a fait quelque chose de similaire, si je me souviens bien, à l'un de leurs principaux collaborateurs. Dès que je vois de telles absurdités gagner du terrain dans un projet, je le signale et je proteste contre la distraction. Si ça continue, je me retire. Tout le monde devrait. developer.slashdot.org/…
Ben Scherrey

4
io.js est en train de fusionner avec node.js je suppose que infoworld.com/article/2923081/javascript/…
Dinkar Thakur

4
"io.js est en train de fusionner avec node.js" - les deux ont fusionné maintenant. Bonne nouvelle !! iojs.org/en
Deen John

19

En fait, il existe des différences entre les pratiques Node.js et io.js . Quelques faits oubliés par d'autres réponses:

  • Actuellement, io.js est, sous plusieurs aspects, un peu plus rapide que Node.js. Un benchmark de performance peut être trouvé ici .
  • La prise en charge d' ECMAScript 6 d' io.js est beaucoup plus large que Node.js. La comparaison peut être trouvée ici .

Pourquoi? Parce que io.js 1.6.2 est livré avec Google V8 4.1.0.25, et Node.js 0.12.1 est livré avec V8 3.28.73. De plus, les indicateurs pour ECMAScript 6 sont différents entre Node.js et io.js. Le guide io.js des indicateurs ECMAScript 6 peut être trouvé ici .


2
Un hic intéressant est que le tableau de comparaison que vous mentionnez ne s'affiche pas correctement si JS est désactivé dans le navigateur (ce qui devrait être la valeur par défaut. Période. Et avant de demander: nous parlons de JS côté serveur ici, pas côté navigateur!)
Tino

18
Vous avez réellement désactivé JS dans votre navigateur?! Vous devez être ce type qui fait soupirer des millions de développeurs Web lorsqu'ils entendent «est-ce que cela fonctionnera sans JavaScript activé?
Zasz

15

TL; DR io.js est la future incarnation de node.js.

Le site Web io.js dit : "io.js est une plate-forme javascript compatible node & npm." C'est un ensemble d'outils (un runtime / VM, un gestionnaire de packages, etc.) qui est compatible avec ce qui existe actuellement en tant que nœud. Toutes les différences seront vraisemblablement dans l'implémentation sous-jacente, et toutes les extensions que io.js ajoute au-delà de l'ensemble de fonctionnalités node.js.

(Pourquoi quelque chose de compatible avec ce qui existe déjà diviserait-il la communauté? Pourquoi est-ce une mauvaise chose?)

Notez que io.js n'est même pas encore sorti! Cependant, la feuille de route io.js illustre certaines différences particulièrement pertinentes entre node et io.

  • "Node est déjà assez stable" et pourtant Node n'a toujours pas atteint la version 1.0; il est actuellement à 0,10,33.
  • "L'ensemble de l'écosystème utilise semver tandis que node utilise une structure de version paire / impaire déroutante." En introduisant un nouveau nom pour un nouveau projet (ish), ils pourront résoudre ce problème.

Donc, si je comprends bien, io.js est la version 1.0-alpha1 et future de node, mais avec:

  • gestion des versions de version différente (saine)
  • rejets délibérément fréquents
  • gouvernance par un comité technique

15
"la future incarnation" cette réponse est pro-io.js biaisée.
Brendan

27
"La réalité a un parti pris libéral bien connu" - Stephen Colbert
Matt Ball

2
@BrendanAshworth: Même si c'était vrai, cela ne semble pas justifier un vote défavorable. Au cas où il y aurait des arguments anti-io.js, merci de nous les faire savoir!
Bergi

3
@Bergi En fait, je n'ai pas voté contre la réponse - ce n'est pas parce qu'elle est biaisée que ce n'est pas une bonne réponse . Il y a un vote positif :)
Brendan

3
@BrendanAshworth Techniquement, la déclaration «future incarnation» n'est pas incorrecte. io.js pousse l'avancement de node.js (en particulier le support ES6) et est dirigé par les créateurs originaux de node.js. Considérant que nodejitsu (l'opérateur de NPM) a été acquis par GoDaddy et vient de déposer une marque sur le nom 'npm' et que le nom 'node.js' est une marque déposée par Joyent, l'écosystème node.js / npm peut être en danger. Si les choses vont au sud, une migration vers io.js est tout à fait possible.
Evan Plaice

9

io.js était un fork de node.js. Mais maintenant, io.js et node.js collaborent à nouveau. Voilà pourquoi node.js passe directement de 0.12.x à 4.0.0 car node.js version 4.0.0 inclut toutes les mises à jour majeures de io.js version 3.0.0

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.