Node.js 4.0 将包含最新 V8,下个月发布!

oschina
 oschina
发布于 2015年08月15日
收藏 28

第一个全新的 io.js/node.js 结合版本很快就要发布了!

上周是个正常的旧金山的夏天,阳光明媚,偶尔有些热风。新 Node.js 基金会组织了一次聚会,40 位 Node.js 贡献者自 Collaborator Summit 以来第一次聚集在一起。

一 年前我们并没有 40 位贡献者能够这样聚在一起,但是今天这只是全部贡献者的一小部分 (359 GitHub org members as of 8/12)。这主要是因为 Joyent 的 Node.js 迁移到一个基金会,合并 io.js 到同一个基金会。作为统一 Node.js 项目,这比起以前是非常大的进步,很快就会发布 Node.js v4.0 —— 第一个 io.js 和 Node.js 合并后的统一版本。

时间轴

  • 二月 —  Joyent 在 Node Summit 宣布成立 Node.js Foundation

  • 三月 —  基金会章程草案在不断传播

  • 五月  —  io.js TC 投票加入 Node.js 基金会并合并到 Node.js 

  • 六月  —  创始成员正式启动 Node.js 基金会

  • 七月  —  Node.js Foundation 董事会成立

  • 八月  —  第一次 Node.js Collaborator Summit

  • 九月 Node.js v4.0 (第一个完全覆盖版本)

  • 12 月  —  World Domination

在过去的几个月里 Node.js 基金会成员一起管理和开发 io.js 和 Node.js。每个人都参与进来,希望能尽快发布一个统一的版本,TSC 同时也在致力于开发者社区上 io.js 和 Node.js 0.12.x 系列常规版本的发布。

在这过程中遇到了一些关于开发和发布过程的问题,还有关于 V8 方面相当大变化的争论。

原生模块

模块生态系统是作为一个 Node 开发者最好的一部分之一。这些模块中极其小的一部分我们称之为 “原生模块” ,意味着他们有依赖,在某种情况下,依赖于 V8 的 C++ API,而且并不是纯正的 JavaScript。这也意味着每个 Node.js 的重要版本都在打破这些原生模块,而且每个都必须更新去适应更新的 V8。

在 2013 年年中 Rod Vagg 发布 NAN (Native Abstractions for Node),提供给原生模块开发者,可以同时支持多个 node.js (0.8, 0.10, 0.12, etc) V8 版本的一个模块。这也意味着开发者不需要编写大量的代码来处理各个版本的 V8,但是这并没有阻止 V8 新的版本继续打破更多的原生模块。

NAN 原生模块开发者之前大部分时候只需要简单的升级 NAN 版本,支持最新的 Node.js 就可以了。不幸的是,因为 Node.js 的深度依赖链,需要越来越长的时间更新原生模块的依赖 (and the deps of deps, and deps of deps of deps, and so on)。

这里谈论的模块大概有多少?当前直接依赖于 NAN 的至少有 600 个模块 (少于一半的模块在 NPM) 。但是如果你在这些模块的所有深度依赖因素中,有高达到 30% 的 npm 模块直接依赖于 NAN,那么就需要很长的时间来跟上新版本,TSC 开发一个新版本的进程也需要更长的周期,才能让这些模块在重大版本发布之前升级,从而影响原生模块生态系统。

“io.js v3 是 node.js v4 alpha”是什么意思?

当 io.js 发布第一个支持 V8 更新版本 (node.js was a few years out of date) 的版本,NAN 发布新版本支持最新版 io.js 的时候,当前对 V8 的修改已经包括在 io.js v3 里面了,并且要求的不仅仅是更新版本的 NAN,还有一个 NAN 自身重大的 API 改进,要求改进所有依赖原生模块的代码。

要知道这是一个非常大的改进,原生模块的作者需要时间来跟上 io.js v3 的发布节奏,之后几个星期将会继续发布,让模块作者可以测试和升级。Node.js v4 将会包括更新版本的 V8,同时当前 NAN 版本已经支持了。这就意味着每个人升级到 NAN 最新版就可以使用 io.js v3,也同样可以使用 Node.js v4,所以这就是我们称 io.js v3 是 Node.js v4 的 “alpha 系列”的原因。

Node.js v4 将会包括所有 io.js 的改进和 node.js 0.12 的新特性。

作为一个统一的项目,合并后的版本号也就是 4.0,这也就是为什么 Node.js 一下子跳到 v4.0 的原因,避免和现有 io.js 版本号重叠。

现在,马上下载 io.js v3 版本,开始准备迎接 Node.js 下一个超级大版本吧!

via medium.com

更多关于 io.js v3 的内容,请查看:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Node.js 4.0 将包含最新 V8,下个月发布!
加载中

最新评论(43

风城剑客
风城剑客

引用来自“要吃九个橙子”的评论

原生模板是什么意思,如php的html嵌入式页面吗 ?
基于V8的C++模块
风城剑客
风城剑客

引用来自“AkataMoKa”的评论

对 Node.js 了解的不多,只了解到它是非阻塞的
能想到的应用场景是支持聊天软件,网络游戏
除了密集计算,它都很擅长
风城剑客
风城剑客

引用来自“西迷岛主”的评论

nodejs适合用搞前端的装下B而已,大项目有几个敢用?

引用来自“ked”的评论

你这说法有的坐井观天的意味啊
LZ确实有点坐井关天了,每个语言都有它的特长,选择合适的才是重点,而且nodejs之所以能被看重并且得以发展,也是因为它稳定运行与很多个大型项目上了
朋也
朋也
好消息
ked
ked

引用来自“西迷岛主”的评论

nodejs适合用搞前端的装下B而已,大项目有几个敢用?
你这说法有的坐井观天的意味啊
wendal
wendal
最新的是4.5系列,然而不会更新到这个版本
西迷岛主
西迷岛主

引用来自“西迷岛主”的评论

nodejs适合用搞前端的装下B而已,大项目有几个敢用?

引用来自“liluwei123”的评论

淘宝算大项目不?
如果Nodejs的性能和稳定性过硬的话,淘宝早就全站应用了,而不是极小范围的尝试
yale8848
yale8848
大结局,喜剧啊!13
AkataMoKa
AkataMoKa
对 Node.js 了解的不多,只了解到它是非阻塞的
能想到的应用场景是支持聊天软件,网络游戏
Railgun
Railgun
这剧情也是蛮精彩的
返回顶部
顶部