Node.js 4.0 將包含最新 V8,下個月發布!
第一個全新的 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
</li> -
三月 — 基金會章程草案在不斷傳播
</li>
-
五月 — io.js TC 投票加入 Node.js 基金會并合并到 Node.js
</li> -
六月 — 創始成員正式啟動 Node.js 基金會
</li> -
七月 — Node.js Foundation 董事會成立
</li> -
八月 — 第一次 Node.js Collaborator Summit
</li> -
九月 — Node.js v4.0 (第一個完全覆蓋版本)
</li> -
12 月 — World Domination
</li> </ul>在過去的幾個月里 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本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!