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

时间:2014-12-05 05:33:21

标签: javascript node.js

io.jsnode.js之间有什么区别?最新的io.js来自node.js,并且由一些制作node.js的人制作。

导致此分支的主要区别是什么,以及它对node.js整体社区意味着什么?

5 个答案:

答案 0 :(得分:114)

io.jsJoyent's Node.js

的分支

有什么区别?

io.js:

  • Node-forward基本上被合并到io.js
  • 基于社区驱动的开发和主动发布周期分叉
  • 包括许多原始的Node.js开发人员
  • 的未来目标是"与Node.js"
  • 合并
  

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

     

我们打算以越来越规律的方式登陆与node.js迄今为止构建的npm生态系统兼容的版本。

Node.js的:

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

他们为什么分裂?

主要分为三个原因:更快,更活跃的版本和1.0.0版本的开发,更多社区驱动的开发而不是Advisory Board,以及semver用于发布

什么是advisory board

咨询委员会是Joyent的计划,旨在为Node.js提供一种更集中,更快捷的方式来规划开发并规划未来的功能,以实现1.0.0版本。计划通过组建一个使用Node.js

的大型公司的董事会来完成

来自Joyent的博客:

  

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

为什么咨询委员会讨厌?

以前,Node.js是通过邮件列表,GitHub问题运行的,任何人都可以提出自己的想法。这个想法开始变得有些讨厌,因为它把控制权从你的平均每日贡献者那里带走,并将权力转移到了#big;"诸如沃尔玛雅虎等公司/ strong>, IBM Microsoft Joyent Netflix PayPal

的外部资源

答案 1 :(得分:19)

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

为什么呢?因为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标志指南here

答案 2 :(得分:15)

TL; DR io.js是node.js。

的未来化身

The io.js website says:“io.js是一个节点兼兼容的javascript平台。”它是一组工具(运行时/ VM,包管理器等),它与当前作为节点存在的工具兼容。任何差异都可能出现在底层实现中,以及io.js在node.js功能集之外添加的任何扩展。

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

请注意,io.js尚未发布!但是the io.js roadmap说明了node和io之间的一些特别相关的差异。

  • “Node已经非常稳定了”但Node 仍然没有达到1.0;它目前在0.10.33。
  • “整个生态系统使用semver,而节点使用混乱的偶数/奇数释放结构。”通过为新(ish)项目引入新名称,他们将能够解决这个问题。

据我了解,io.js是1.0-alpha1和未来版本的节点,但是:

答案 3 :(得分: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的所有主要更新

答案 4 :(得分:0)

唯一重要的区别是io = 24和node = 38