Node.js v0.10版本发布
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 Firm和StrongLoop等公司已经提供了有偿的node.js技术支持,培训以及咨询服务。StrongLoop还发布了StrongLoop Node beta版本,它全面支持node.js,包含各式各样流行的模块,它遵循了和Scala社区中Typesafe类似的模式。
官方的node.js v0.10的预构建二进制文件已经提供下载,支持目前所有主流操作系统,包括Windows、Mac、Linux以及Solaris。当然了,作为开源项目的node.js,其源代码也已经公布。