node.js和io.js有什么区别?


132

io.jsnode.js有什么区别?最近的东西io.js是由node.js和他们一样的人分叉的,而且是由他们共同创造的node.js

导致此派生的主要区别是什么?对于整个node.js社区意味着什么?



8
读者应该注意,尽管这个问题在当时很有意义,但是io.js和node.js自此合并在一起。实际上,io.js不再存在。
Boinst

7
tl; dr请在io.js网站上查看此语句:io.js已再次与Node.js项目合并。不会再发布io.js。io.js中的所有功能都可以在Node.js v4及更高版本中使用
波阿斯

Answers:


123

io.jsJoyent的Node.js的分支

有什么区别?

io.js:

  • 节点转发基本上被合并到io.js中
  • 基于社区驱动的开发和积极的发布周期进行了分叉
  • 包括许多原始的Node.js开发人员
  • 的未来目标是“与Node.js合并”

该存储库最初是Joyent / node的GitHub分支,其中的贡献,发布和贡献处于开放治理模型下。

我们打算以越来越大的规律性发布与迄今为止为node.js构建的npm生态系统兼容的发行版。

Node.js:

  • 原始软件
  • 最近放慢了发展速度
  • Joyent赞助
  • Joyent拥有商标 Node.js

他们为什么分裂?

它之所以被分成三部分,主要是出于三个原因:更快,更活跃的发行版和向1.0.0发行版的开发,更受社区驱动的开发而不是咨询委员会的开发以及对发行版使用semver。

什么是顾问委员会

顾问委员会是Joyent的计划,旨在为Node.js提供一种更集中,更快速的方式来计划开发和计划发布过程中的未来功能1.0.0。计划通过将使用Node.js的大型公司组成一个董事会来完成此任务

引用Joyent的博客:

随着社区变得越来越复杂,重要的是,我们必须找到一种方法来平衡所有成员的需求,并为这些组织提供一个聚集在一起并为项目提供意见的平台。

咨询委员会为什么讨厌?

以前,Node.js是通过邮件列表,GitHub问题运行的,任何人都可以贡献他们的想法。这个想法开始引起人们的憎恶,因为它使您的控制权从您的日常工作中脱颖而出,并将权力转移到了“大人物”:沃尔玛雅虎IBM微软JoyentNetflixPayPal等公司

外部消息来源


一些流行的模块也已经结束了对Node.js的支持,并转移到io.js(即jsdom
taco

9
实际上,这部分是由于整个代词的性别冲突而导致的,该冲突最终以他们的大部分贡献者离开而告终。。还有其他原因,但这是稻草把骆驼折断了
evandentremont 2015年

19
政治上的正确性绝对是邪恶的,在技术项目中(希望继续成为技术项目)没有地位。重点应放在成果和精英管理上。不幸的是,越来越多的项目正在采用这些政策和态度。我记得Mozilla对其中一位关键人物做了类似的事情。当我看到这样的废话在项目中受到关注时,我便指出并抗议这种干扰。如果继续下去,我会退出。大家应该。 developers.slashdot.org/...
奔Scherrey

4

4
“ io.js正在与node.js合并”-两者都已合并。好消息 !!iojs.org/en
Deen John

19

实际上,Node.jsio.js之间存在实际差异。其他答案忘记了一些事实:

为什么?因为io.js 1.6.2随Google V8 4.1.0.25一起提供,而Node.js 0.12.1随V8 3.28.73一起提供。另外,Node.js和io.js之间ECMAScript 6的标志也有所不同。io.js的ECMAScript 6标志指南可在此处找到。


2
一个有趣的发现是,如果在浏览器中禁用了JS,您提到的比较表将无法正确显示(这应该是默认值。句点。在您问:我们在这里是在谈论服务器端JS,而不是在浏览器端!)
Tino

18
您实际上在浏览器中禁用了JS吗?您一定是那个让成千上万的Web开发人员叹息的人,他们听到“如果不启用Java脚本,它将起作用吗?”
Zasz 2015年

15

TL; DR io.js是node.js的未来版本。

io.js网站说:“ io.js是节点和npm兼容的javascript平台。” 它是一组与当前作为节点存在的工具兼容的工具(运行时/ VM,程序包管理器等)。可能会有任何不同之处在于基础实现,以及io.js在node.js功能集之外添加的任何扩展。

(为什么与已经存在的东西兼容会导致社区分裂?为什么这是一件坏事?)

请注意,io.js尚未发布!但是,io.js路线图说明了节点和io之间的一些特别相关的区别。

  • “节点是非常该死的已经稳定”,但节点没有打到1.0; 目前为0.10.33。
  • “整个生态系统使用semver,而节点使用令人困惑的偶/奇释放结构。” 通过为新的(ish)项目引入新的名称,他们将能够解决该问题。

因此,据我所知,io.js是1.0-alpha1及以后的节点版本,但具有:


15
“未来的化身”这个答案对pro-io.js有偏见。
布伦丹2014年

27
“现实有一个众所周知的自由主义偏见” – Stephen Colbert
Matt Ball

2
@BrendanAshworth:即使这是真的,这似乎也不能证明是低票。如果有任何anti-io.js参数,请告诉我们!
Bergi 2014年

3
@Bergi实际上,我没有拒绝答案-仅仅因为它有偏见并不意味着它不是一个好答案。有一个投票:)
Brendan

3
@BrendanAshworth从技术上讲,“未来化身”的说法并不正确。io.js推动了node.js(特别是ES6支持)的发展,并由node.js的原始创建者领导。考虑到GoDaddy已经收购了nodejitsu(NPM的运营商),并且刚刚在'npm'名称上注册了商标,而'node.js'名称是Joyent的商标,则node.js / npm生态系统可能处于危险之中。如果一切顺利,完全可以迁移到io.js。
Evan Plaice 2015年

9

io.js是node.js的分支。但是现在io.js和node.js再次协作。这就是为什么node.js直接从0.12.x跳转到4.0.0的原因,因为node.js版本4.0.0包含io.js版本3.0.0的所有主要更新

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.