Node.js官方釋出Node.js 10.0.0,強調其安全性將OpenSSL版本升級到了1.1.0,還將JavaScript引擎更換為 Google V8引擎6.6版本,不只強化了效能,在錯誤處理或事件追蹤等診斷報告也有所改進。另外,Node.js 10.x將在今年10月成為長期支援版本,官方提醒企業應盡早準備系統遷移。

升級OpenSSL 1.1.0強化加密功能

Node.js 10.0.0是第一個使用OpenSSL 1.1.0的版本,而在近日隨著TLS 1.3規範制定完成,OpenSSL開發團隊也已經準備發布OpenSSL 1.1.1以支援最新的加密功能,官方表示,在Node.js 10.x成為長期支援版本前,將會支援OpenSSL 1.1.1,以確保企業能使用最新的加密功能。

雖然現在還無法支援TLS 1.3,但Node.js 10.x仍提供許多先進的現代加密技術,包括支援Google為行動裝置設計的ChaCha20加密以及Poly1305驗證器演算法,另外,也支援目前網路應用的標準配備AEAD加密(Authenticated Encryption with Associated Data)。

正式支援N-API,解決原生模組版本破碎問題

除了安全性更新外,Node.js 10.x另一大賣點是ABI穩定模組API(N-API)已經成為正式支援的API。在2017年5月時,微軟資深軟體經理Arunesh Chandra以及IBM Node.js技術主管Michael Dawson聯合發文,發布為打造原生模組的N-API。他們表示,由於Node.js的生態系由JavaScript和原生附加模組構成,而原生附加模組以C/C++撰寫並相依於V8和NAN API。

這樣的相依性使Node.js的ABI(Application Binary Interface)與API缺乏穩定性,這些原生附加模組每次都需要為Node.js主要釋出版本重新編譯,經官方評估,這樣的影響直接或間接影響了大約30%的模組生態系。

因此為降低開發人員的軟體維護成本,Node.js推出下一代穩定ABI的Node.js API,或是稱為N-API,目的透過為JavaScript虛擬機器的原生API,提供穩定ABI抽象層來解決這個問題。因此現在原生模組只要編譯一次,便能在所有的Node.js版本執行。

這樣將促進虛擬機器的多樣性,Arunesh Chandra表示,虛擬機器的多樣性將為Node.js原生模組生態系釋放更多開發人員的生產力。由於Node.js在物聯網應用越趨普及,不同虛擬機器供應商透過支援標準穩定的ABI,不只能讓開發者靈活地使用該平臺,虛擬機器也能為特定平臺作最佳化。

V8引擎帶來執行效能提升,Npm 6釋出

Google V8引擎改進了Promise、非同步產生器、非同步疊代以及陣列性能,這也讓Node.js直接得到了性能改善的好處。而Google V8團隊也持續改進即將非同步函數以及非同步產生器的效能,開發者可以持續關注。

而Node.js 10.0.0釋出附帶套件管理器Npm 5.6.x,不過Npm版本6也已經釋出,在Node.js 10.x的更新週期中,將會替換Npm到最新版本。Npm 6更新功能也是側重於安全性、穩定性和性能改進,比起之前的版本,效能提升高達1700%。

熱門新聞

Advertisement