一、創始
Node.js 最初是由 Ryan Dahl 創建的,目的是為了構建高度可伸縮的網路應用程序。在2009年的JSConf上,Ryan Dahl 首次介紹了 Node.js 概念,並以非常簡短的代碼演示了 Node.js 的特性。因為除了傳統的使用阻塞 I/O 的方法,Node.js 採用了非阻塞 I/O 和事件驅動等特性,因此受到了廣大 Web 開發者的關注與青睞。
Node.js 最初在V8 JavaScript 引擎的基礎上構建,並使用 C++ 編寫 V8 綁定。最初的 Node.js 版本就是這種結構,在此後的多個版本中,Node.js 的核心架構並沒有變化:
├── deps
│ ├── http_parser
│ ├── libuv
│ ├── openssl
│ └── v8
├── doc
├── lib
├── src
│ ├── node
│ ├── platform_darwin.cc
│ ├── platform_freebsd.cc
│ ├── platform_linux.cc
│ ├── …
│ └── uv-common.h
├── test
├── tools
├── .gitattributes
├── .gitignore
├── README.md
└── configure
二、版本演進
1. Node.js 0.2.x
在最初的幾個版本中,Node.js 只能運行最基本的 HTTP 伺服器。版本 0.2.x 是第一個穩定版,並引入了類似於事件機制的 EventEmitter。事件驅動模式是 Node.js 的基本概念,EventEmitter 是 Node.js 投入實際應用運行的重要事件機制。這一版的 Node.js 還添加了 HTTP 客戶端,這使得 Node.js 可以不僅可以運行製作伺服器,也可製作客戶端和類似 Shell 腳本的工具。
2. Node.js 0.4.x
版本 0.4.x 在 2011 年正式發布,添加了特性包括:TCP、HTTP、TLS、加密方式等。Node.js 成為自己構建 Web 應用的最佳選擇,在這一版本中,Node.js 開始自己構建自己,從幾個基本庫到現在幾乎完整的標準庫集合。
3. Node.js 0.6.x
在 2011 年年底的神奇節骨眼,Node.js 發布了版本 0.6.x。這一版中,V8 引擎升級到了 3.1, EventEmitter 類被進一步完善。Node.js 還添加了 STREAM,允許開發者操作底層的 Unix 文件句柄,從而直接與操作系統交互,使得 Node.js 可以更加容易擴展到更多底層 APIs。
4. Node.js 0.8.x
版本 0.8.x 在 2012 年正式發布。在此版本中,V8 引擎升級至 3.11.10,Node.js 開始從核心 API 中提取出基礎部分,形成獨立的模塊和庫。Node.js 的代碼分離和模塊化使得它成為靈活的各種應用程序的構建工具。此版本還加入了 DNS、TLS-PSK、TLS-SNI、TLS NPN 以及 poll 和 epoll 基礎設施。
5. Node.js 0.10.x
版本 0.10.x 被認為是 Node.js 的關鍵版本。這一版中包含大量的 API 和模塊,是首個長期支持發布版本。在 0.10 版本中,Node.js 也成為了大規模企業級應用的構建工具。開發者們開始熱情洋溢,開始不斷發布新的模塊、庫以及工具,包括Pomelo、Express、Grunt和Gulp等。
6. Node.js 0.12.x
版本 0.12.x 是 Node.js 穩定發行版。在此版本中,Node.js 帶來了互操作性和模塊性的提升,支持 ECMAScript 新特性,例如 Map、Set、Promise 等。
7. Node.js 4.x
2015年6月,Node.js 發布了 4.0,它標誌著集成io.js項目的終結,Node.js 公布計劃解決過去版本的問題,並為構建應用程序擴展了更多的 API。Node.js 開始支持最新的 JavaScript 標準(ES6)。這一版本還加入了個性化調試、多核集成、Native NPM 模塊和更多穩定版本 API。
8. Node.js 5.x
版本 5.x 的目的在於向 ES6 的新特性發布,同時也提供了更多更改新特性的 API。這一版中還引入了 prebuilt Linux 存檔工具,因為許多用戶表示他們在構建本地 Node.js 模塊中遇到了各種問題。
9. Node.js 6.x、7.x 和 8.x
隨後的版本基本上都符合所定義的「六個月發布計劃」,每半年發布一個穩定版本。版本 6.x 是第一個實現長期穩定的版本,它於 2016 年發布。除了模塊集之外,雖然其 API 與 Node.js 5.x 相似,但有幾個基本想法已經改變了。例如,在 6.x 版本中,所有錯誤都由狀態代碼和信息組成。
三、小結
通過以上的介紹,我們可以清晰地了解 Node.js 歷史版本的演進。Node.js 在經歷了多個版本的迭代之後,不斷地完善其核心架構和基礎設施,迎合業界的需求,發展成為現在備受歡迎的高效 JavaScript 運行環境。Node.js 的歷史證明了它一直在和時代緊密共進步,未來的 Node.js 也將在這條道路上興盛發展。
原創文章,作者:OOEI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136310.html