Javascript node.js 和 io.js 有什么区别?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/27309412/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What is the difference between node.js and io.js?
提问by maudulus
What is the difference between io.jsand node.js? The more recent io.jsis forked from node.js, and is furthermore made by some of the same people that made node.js.
io.js和node.js 有什么区别?较新的io.js是分叉的node.js,而且是由一些制作node.js.
What are the key differences that have lead to this fork, and what does it mean for the node.js community as a whole?
导致这次分叉的主要区别是什么,这对整个 node.js 社区意味着什么?
采纳答案by Brendan
io.jsis a fork of Joyent's Node.js
io.js是Joyent 的 Node.js 的一个分支
What are the differences?
有什么区别?
io.js:
io.js:
- Node-forwardis basically being merged into io.js
- forked on the basis of community-driven development and active release cycles
- includes many of the original Node.js developers
- has the future goal of "merging back with Node.js"
- Node-forward基本上被合并到 io.js
- 在社区驱动的开发和活跃的发布周期的基础上分叉
- 包括许多原始的 Node.js 开发人员
- 未来的目标是“与 Node.js 合并”
This repository began as a GitHub fork of joyent/node where contributions, releases, and contributorship are under an open governance model.
We intend to land, with increasing regularity, releases which are compatible with the npm ecosystem that has been built to date for node.js.
该存储库最初是 Joyent/node 的 GitHub 分支,其中贡献、发布和贡献处于开放治理模型下。
我们打算越来越频繁地发布与迄今为止为 node.js 构建的 npm 生态系统兼容的版本。
Node.js:
节点.js:
- the original software
- has slowed down development in recent time
- sponsored by Joyent
- Joyent owns the trademark
Node.js
- 原来的软件
- 最近已经放慢了开发速度
- 乔伊特赞助
- Joyent拥有该商标
Node.js
Why did they split?
他们为什么分手?
It was primarily split for three reasons: faster, more active releases and development towards a 1.0.0release, for a more community-driven development rather than the Advisory Board, and the use of semver for releases.
它主要分为三个原因:更快、更活跃的发布和向发布的开发1.0.0,更受社区驱动的开发而不是咨询委员会,以及使用 semver 进行发布。
What is the advisory board?
什么是顾问委员会?
The Advisory Board was Joyent's plan to bring Node.js a more centralized, faster way to plan development and plan future features along the road towards a 1.0.0release. This was planned to be done by putting together a board of larger companies that use Node.js
顾问委员会是 Joyent 的计划,它使 Node.js 成为一种更集中、更快速的方式来规划开发和规划未来功能的1.0.0发布。计划通过组建一个由使用 Node.js 的大公司组成的董事会来完成
Quote from Joyent's blog:
引自 Joyent 的博客:
As the community becomes more complex, it is important that we find ways to balance the needs of all constituents and provide a platform for these organizations to come together and to provide input into the project.
随着社区变得越来越复杂,我们必须找到平衡所有成员需求的方法,并为这些组织聚集在一起并为项目提供投入提供平台,这一点很重要。
Why is the advisory board hated?
为什么顾问委员会被人讨厌?
Previously, Node.js was run via mailing lists, GitHub issues, and anyone could contribute their idea. This idea started getting some hate because it brought control away from your average, everyday contributor and moved the power to the "big shots": companies such as Walmart, Yahoo, IBM, Microsoft, Joyent, Netflix, and PayPal.
以前,Node.js 是通过邮件列表、GitHub 问题运行的,任何人都可以贡献他们的想法。这个想法开始受到一些人的憎恨,因为它剥夺了普通的日常贡献者的控制权,并将权力转移给了“大人物”:沃尔玛、雅虎、IBM、微软、Joyent、Netflix和PayPal 等公司。
Outside sources on this
外部消息来源
回答by Gabriel Tomitsuka
In fact, there arepractical differences between Node.jsand io.js. Some facts forgotten by other answers:
实际上,Node.js和io.js之间存在实际差异。其他答案忘记了一些事实:
- Currently, io.js is, in multiple aspects, a bit faster than Node.js. A performance benchmark can be found here.
- io.js's ECMAScript 6support is much broader than Node.js. Comparison can be found here.
- 目前,io.js 在多个方面都比 Node.js 快一些。可以在此处找到性能基准。
- io.js 的ECMAScript 6支持比 Node.js 广泛得多。比较可以在这里找到。
Why? Because io.js 1.6.2 ships with Google V8 4.1.0.25, and Node.js 0.12.1 ships with V8 3.28.73. Also, flags for ECMAScript 6 are different between Node.js and io.js. io.js's guide to ECMAScript 6 flags can be found here.
为什么?因为 io.js 1.6.2 附带 Google V8 4.1.0.25,Node.js 0.12.1 附带 V8 3.28.73。此外,ECMAScript 6 的标志在 Node.js 和 io.js 之间是不同的。可以在此处找到 io.js 的 ECMAScript 6 标志指南。
回答by Matt Ball
TL;DR io.js is the future incarnation of node.js.
TL;DR io.js 是 node.js 的未来化身。
The io.js website says: "io.js is a node & npm compatible javascript platform." It's a set of tools (a runtime/VM, a package manager, etc.) which is compatible with what currently exists as node. Any differences will presumably be in the underlying implementation, and any extensions that io.js adds beyond the node.js feature set.
io.js 网站说:“io.js 是一个节点和 npm 兼容的 javascript 平台。” 它是一组与当前作为节点存在的工具兼容的工具(运行时/VM、包管理器等)。任何差异都可能存在于底层实现中,以及 io.js 添加超出 node.js 功能集的任何扩展。
(Why would something compatible with what already exists divide the community? Why's that a bad thing?)
(为什么与已经存在的东西兼容的东西会分裂社区?为什么这是一件坏事?)
Note that io.js hasn't even been released yet! However the io.js roadmapillustrates some particularly relevant differences between node and io.
请注意,io.js 还没有发布!但是io.js 路线图说明了 node 和 io 之间的一些特别相关的差异。
- "Node is pretty damn stable already" and yet Node stillhasn't hit 1.0; it's currently at 0.10.33.
- "The entire ecosystem uses semver while node uses a confusing even/odd release structure." By introducing a new name for a new(ish) project, they'll be able to fix that.
- “Node 已经非常稳定了”,但 Node还没有达到 1.0;目前为 0.10.33。
- “整个生态系统使用 semver,而 node 使用令人困惑的偶数/奇数发布结构。” 通过为新的(ish)项目引入新名称,他们将能够解决这个问题。
So as I understand it, io.js is the 1.0-alpha1 and future release of node, but with:
据我了解,io.js 是 node 的 1.0-alpha1 和未来版本,但具有:
- different (sane) release versioning
- deliberately frequent releases
- governance by a technical committee
- 不同的(理智的)发布版本控制
- 故意频繁发布
- 由技术委员会管理
回答by VIKAS KOHLI
io.js was a fork of node.js. But now io.js and node.js again collaborate. So that's why node.js directly jump from 0.12.x directly to 4.0.0 as node.js version 4.0.0 includes all the major updates from io.js version 3.0.0
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 版的所有主要更新

