io.js 1.0.x 发布

  • James Chesters
  • 卢俊祥

2015 年 2 月 1 日

话题:JavaScriptNode.js语言 & 开发

io.js 开发团队发布了io.js 1.0,但是“1.0”这个版本号并不是说它已经为应用于生成环境做好了准备。

io.js 最初是一个有争议的 Node.js 分支。尽管版本号超过了 Node.js,但是开发团队在其FAQ上对此做了澄清:

 “选择发布为 1.0.x,并不是说 io.js 已经为应用于生成环境做好了准备,而是因为与 Node.js 相比,变化相当多,为体现这一点,版本号也大幅升级了。”

与父版本 Node.js v0.10.35 相比,io.js 此次发布版本的显著变化详见其变更记录,其中包括

  • io.js 捆绑的 V8 JavaScript 引擎版本大幅升级,从 Node.js v0.10.35 中的 3.14.5.9、Node.js v0.11.14 中的 3.26.33 直接升级到了 3.31.74.1。这带来了大量 Bug 修复和性能提升,以及对新的 ES6 语言特性的额外支持。关于 ES6 方面的更多信息,请参考io.js ES6 页面
  • 其他捆绑技术的升级:
    • c-ares:从 1.9.0-DEV 升级到 1.10.0-DEV;
    • http_parser:从 1.0 升级到 2.3;
    • ibuv:从 0.10.30 升级到 1.2.0;
    • npm:从 1.4.28 升级到 2.1.18;
    • openssl:从 1.0.1j 升级到 1.0.1k;
    • punycode:从 1.2.0 升级到 1.3.2。
  • 所有平台版本的性能与稳定性全面提升。

io.js 项目成员 Isaac Schlueter 在 2014 年 12 月的一篇博客文章“Io.js”中,列出了该框架的目标,包括每周发布、积极开发以及“支持多个 V8 版本”。与此同时,io.js 项目公开表示,要“以越来越规律的方式发布与为 Node.js 而构造的 npm 生态系统兼容的版本”。

刚过一个月,io.js 就发布了 1.03 版本,并搭载 V8 4.1.0.7 版本。

如文章ES6 on io.js提及,1.03“包括的 ES6 特性超越了 joyent/node@0.12.x 搭载的 V8 3.26.33 版本”。此外,所有 V8 上的稳定特性 “都将在 io.js 中缺省开启,不需要设置各种运行时标志”。

1.03 包含了诸多变化,不仅仅是 npm 升级到 2.2.0、V8 从 3.31 升级到 4.1 那么简单。

JavaScript 社区的反应总体上是积极的,不过在有些地方——比如在 Hacker News 上io.js相关讨论中——仍有人困惑,为什么 io.js 被称为“spork”,而非“fork”。Elisée Maury对此做了解释

 “这是幽默地表达了 io.js 团队的意图,大家并不是真想创建 Node.js 生态系统的一个分支。io.js 将与 Node.js 一道发展,并且核心团队对合并回 Node.js 的可能性持开放态度。”

最近,Geekregator.com 上有一篇文章比较了 io.js 和 Node.js 的性能,最终发现两者“没有绝对的胜者”。

iojs/io.js 的 GitHub 仓库由技术委员会以及技术委员会持续引入的其他合作者共同维护。io.js 开发团队表示任何人都可以为该项目做出贡献。io.js 遵守一个行为准则,贡献、发布以及贡献者都遵循开放管理模式

查看英文原文:http://www.infoq.com/news/2015/01/iojs-1-release

感谢臧秀涛对本文的审校。

JavaScriptNode.js语言 & 开发