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
感谢臧秀涛对本文的审校。
评论