Node.js 和 io.js 的区别是什么?

Io.jsNode Js有什么不同?最近的 io.js是从 node.js分叉,而且是由一些制造 node.js的同样的人制造的。

导致这个 fork 的关键差异是什么? 它对于整个 node.js 社区意味着什么?

47232 次浏览

DR io.js 是 node.js 的未来化身。

Io.js 网站说: “ io.js 是一个兼容 node & npm 的 javascript 平台。”它是一组工具(运行时/VM、包管理器等) ,与当前作为节点存在的内容兼容。任何差异都可能存在于底层实现中,而 io.js 在 node.js 特性集之外添加的任何扩展都可能存在差异。

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

请注意,io.js 甚至还没有发布! 然而,国际奥委会的路线图说明了节点和 io.js 之间的一些特别相关的区别。

  • “ Node 已经相当稳定了”,但 Node 还是还没有达到1.0,目前是0.10.33。
  • “整个生态系统使用 semver,而 node 使用令人困惑的偶数/奇数版本结构。”通过为一个新项目引入一个新名称,他们将能够解决这个问题。

因此,据我所知,io.js 是1.0-alpha1和未来的 node 版本,但是具有:

  • 不同(理智的)发布版本
  • 故意频繁释放
  • 技术委员会管治

Io.js 是 Joyent 的 Node.js 的一个分支

有什么区别吗?

Io.js:

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

这个存储库开始时是一个享乐/节点的 GitHub 分支,其中贡献、发布和贡献是在一个开放治理模型下进行的。

我们打算定期发布与迄今为止为 node.js 构建的 npm 生态系统兼容的版本。

Node.js:

  • 原始软件
  • 最近一段时间发展缓慢
  • 乔伊特赞助
  • Joyent 拥有 Node.js商标

他们为什么分开了?

它主要有三个原因: 更快、更活跃的发行版和向 1.0.0发行版的开发,更多的是社区驱动的开发而不是 谘询委员会,以及对发行版使用 semver。

什么是 顾问委员会

咨询委员会是 Joyent 的计划,目的是为 Node.js 提供一种更集中、更快速的方式来规划开发,并沿着 1.0.0发布的道路规划未来的特性。计划通过组建一个使用 Node.js 的大公司董事会来实现这一目标

摘自 Joyent 的博客:

随着社区变得越来越复杂,我们必须找到平衡所有成员需求的方法,并为这些组织提供一个平台,使它们能够走到一起,为项目提供投入。

为什么顾问委员会遭人憎恨?

以前,Node.js 是通过邮件列表、 GitHub 问题运行的,任何人都可以贡献自己的想法。这个想法开始得到一些憎恨,因为它把控制权从你的平均,日常贡献者,并转移到“大人物”: 公司如 沃尔玛雅虎IBM微软乔伊特Netflix,和 贝宝

外部消息来源

事实上,有的Node.jsIo.js之间的实际差异。一些被其他答案遗忘的事实:

  • 目前,io.js 在许多方面都比 Node.js 快一些,可以找到性能基准 给你
  • Js 对 ECMAScript 6的支持比 Node.js 广泛得多。

为什么?因为 io.js 1.6.2附带 Google V84.1.0.25,Node.js 0.12.1附带 V83.28.73。此外,在 Node.js 和 io.js 之间,ECMAScript 6的标志是不同的。Js 的 ECMAScript 6标志指南可以在 给你中找到。

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的所有主要更新