Node.js v0.10 版本发布

  • Zef Hemel
  • 雷慈祥

2013 年 3 月 15 日

话题:JavaScript语言 & 开发

Node.js 研发团队发布了 node.js v0.10 版本,它是个基于 Javascript、用于构建高性能异步服务器的平台。该版本主要更新如下:更易于使用的数据流处理模块,通过域更好地处理错误,此外还带来了性能方面的提升。该团队还宣布在 v0.10 之后、v1.0 之前还会发布一个更稳定版本 v0.12。

数据流是 node.js 的核心部分,它在 v0.10 版本中经历了重大改动。数据流为任意类型的可读 / 可写数据流提供了一套公共接口,该抽象接口不需要关心数据流背后是文件,还是运行的进程或是 socket。在 v0.10 以前的版本中,数据包是以数据事件的方式发布,当打开数据流的时候该数据事件就会立马被触发。数据包丢失是个常见问题,这是因为这些事件在程序启动数据事件监听之前就到达了。虽然 v0.10 版本还有个向后兼容模式,其表现行为与之相同,但推荐监听可读事件,一旦该事件触发,需要显式调用.read() 方法来获取缓存的数据。这样一来,数据包就不那么容易丢失了。

在 node.js v0.8 之前的版本中,未捕获的异常默认会导致整个服务器进程崩溃。要避免这个问题并对未捕获异常的行为采取更多的控制,node.js v0.8 版本引入了实验性版本的域这个概念。域是一种将崩溃问题局部化的机制。例如,node.js 能够为每个 HTTP 请求创建一个域。如果该 HTTP 请求的域范围内有任何代码崩溃了,问题只会局限在该域中,不会导致整个服务器进程崩溃,因而能够将崩溃只局限在单个 HTTP 请求中。在 v0.10 版本中,域的状态已经由“实验性”升至“不稳定”,修复了各种边界条件软件缺陷,还提供了更丰富的调试信息。

在过去的一年中,node.js 社区取得了显著的增长,企业对这项技术也越来越感兴趣。例如The Node FirmStrongLoop等公司已经提供了有偿的 node.js 技术支持,培训以及咨询服务。StrongLoop 还发布了 StrongLoop Node beta 版本,它全面支持 node.js,包含各式各样流行的模块,它遵循了和 Scala 社区中Typesafe类似的模式。

官方的 node.js v0.10 的预构建二进制文件已经提供下载,支持目前所有主流操作系统,包括 Windows、Mac、Linux 以及 Solaris。当然了,作为开源项目的 node.js,其源代码也已经公布。

查看英文原文Node.js 0.10 Released

JavaScript语言 & 开发