chaussen

新闻:Node.js平台第8版进入长期支持状态,而Node.js平台第9版则成为了发布线上新的当前版本

原文链接: medium.com

我们怀着十分激动的心情宣布,今天晚些时候Node.js平台第8版即将准备发布,到时这版会转移到实际上的长期支持版产品线上,向更广大的用户群体开放,满足用户对稳定性与安全性的需求。Node.js平台第8.9.0版是第一个正式进入长期支持状态的Node.js 8系列产品。Node.js平台第8版的产品是Node.js的开发团休到目前为止最大的产品线之一,拥有诸如异步函数(Async / Await)和V8 JavaScript引擎6.1版等特色以及附加元件。source nearForm网站上有一些很有代表性的网页程序,用Node.js平台第8版运行时,其速度和前一版的Node.js平台第6版相比有了高达百分之二十的提升。在开发工作早期,测试人员发现Node.js平台第8版将网页响应时间缩短了百分之七十:

“Node.js平台第8版使网站的响应时间全面缩短了百分之七十,并且让我们能利用ES7版的特色功能写出更简洁、更易维护的代码,“Mixer公司的高级软件工程师Connor Peet在直播网站说道。

想知道ES7版哪些功能与哪些Node.js版本兼容,请看一下这个指南,真的非常有用,相当不错。

让我们看一下Node.js平台第8.9.0版中有哪些优秀的功能,包括还在试验状态的功能,了解一下为什么性能会得到彻底提升。

整个网站上所有的企业程序性能都得到了加强

Node.js平台第8.9.0版配有V8 JavaScript引擎6.1版。这个新型V8引擎装有涡轮风扇(TurboFan)编译器和点火装置(Ignition)翻译器,能减少整个Node.js平台程序的内存消耗,加快启动过程。想要进一步了解V8引擎的新内容,请看这个博客的帖子

这一版平台已经开启对HTTP/2协议的支持了,不过还处在试验模式。我们预计还要追加一些变动,但一旦通过了试验模式阶段,就能让开发人员使用这个新协议来加速程序开发了。有了HTTP/2协议,JavaScript开发人员在HTTP/1.1协议下采取的许多变通方案就可以取消了,这使程序更快、更简单、更强大。想更多了解HTTP/2协议优点的来龙去脉,请看RisingStack的这个博客帖子

Node.js平台开发团体加强内外协作,提高稳定性

V8引擎团队是一个负责Google的开源高性能JavaScript引擎的小组。他们现在把Node.js平台与Chromium浏览器放在一起优先考虑,以此来确保只有当Node.js平台不出故障时,V8引擎才能升级。这意味着维护Node.js平台的团体负担变小了,平台的稳定性增加了,还能提前适应ESNext版本的功能。许多企业在整个企业环境里采用Node.js平台,所以无论是Node平台的稳定性,还是Node平台的长期支持版本都是至关重要的。

关于这项任务,Franzi Hinkelmann在Node.js平台互动大会(Node.js Interactive)上的主旨发言里可以得到更多信息。Franzi在Google公司负责Chrome浏览器的V8引擎,她是Node.js平台核心技术委员会(Core Technical Committee)成员。

Node.js平台第8.9.0版中可以使用Node.js的API接口(N-API)。这是一个试验性功能,是一个稳定的模块接口,不受V8引擎的变化影响。这项技术是通过Google、IBM、Intel、Microsoft、nearForm、NodeSource、以及个体协助开发人员共同努力而开发出来的,使得原生模块能运行在较新版本的Node.js平台上而无须重新编译。因此,软件包的维护人员可以不用再更新这些依存关系模块,程序也更稳定,并且为那些模块引用别的模块创造了机会。这也为Node虚拟机的中立性打下了基础,使得Node.js平台能适用在新的运行环境里,如物联网、移动系统等各种不同的系统。

在2017年Node.js平台互动大会(Node.js Interactive)后,开发组看到越来越多团体参与了进来,于是集中精力,让N-API接口脱离试验状态,并改进文档,同时对正在采用N-API的用户报的差错进行应对。想要知道如何帮助开发进程,可以在这里了解一些情况。

异步/异步等待函数(Async / Await)使代码简洁优美,并带来更多好处

Node.js平台第8.9.0版完全支持异步/异步等待函数(Async / Await),使开发人员可以写出更线性的代码,而不再需要写回调函数了。对新接触JS的人,以及从像C#语言等其它语言转到Node.js平台的人来说,这一点很受欢迎。 对于维护庞大代码基的人来说也是很吸引人的。耶!

试验性质的ES模块

ES模块第一次出现在Node.js平台是在8.7.0版,当时是一个可开关的功能。这是各种协助开发者几年努力的结果。ES模块在2015年第一次标准化,为编写模块化JS代码提供了一个标准方法,写出来的代码既可以运行在网站上也可以在Node.js平台上。传统上,Node.js平台用的是CommonJS模式编写模块加载部分,在8.x版长期支持版本中,这仍然是默认行为。

现在,ES模块作为试验性质功能得到了实现,让开发人员能以标准化模块的模式在Node.js平台上开始进行试验,同时平台的开发团队致力于提供最高级的支持。这一切没有Brad Farias孜孜不倦的努力是无法实现的,他在TC39项目里负责ES模块的标准制定层面,在Node.js平台项目里负责ES模块的具体实现层面。

Node.js平台8长期支持者版本还有更多别的特色,请看NodeSource的概述博客

那么,Node.js平台9版是怎么回事呢?

Node.js项目也发布了Node.js平台第9.0.0版,供那些有兴趣测试和试验的开发人员使用。这个版本的重点在于附加了一些最新的尖端技术用以测试,会频繁更新。因此,如果要在实际产品中使用Node.js平台,不建议安装此版本。

这个新版本的大部分变化都和已过时的API接口有关,有些停止使用,有些完全移除。另外此版本Node.js平台还要将核心代码基逐渐迁移到新型差错系统里去,目标是让平台抛出的每一种差错都能与一个独立的错误码关联。有了这个,用户就不会觉得改变差错信息会破坏已有代码了,代码不需要再依赖于错误信息,变得更牢靠了。想要了解更多这次升级的信息,看看Joyent的概述

特别鸣谢

有那么多的人参与了这些新版本的开发,如果你也参加其中,真是万分感谢。Node.js平台第8.9.0版的产品发布经理是Gibson Fahnestock,Node.js平台第9.0.0版是James Snell

如果对此有兴趣,想要下载这些版本,请到这里 。今天晚些时候这些版本会贴在这个网址上,再查找Node.js 8.9.0和Node.js 9.0.0。如果你还在使用Node.js平台4系列版本或Node.js平台6系列版本,我们建议现在可以开始迁移到Node.js平台8系列长期支持版本去了。

想要了解更多Node.js版本的总体策略与起落强弱吗?看这里