回顧Node.js從2009年到現在的歷史

你可能難以置信,但Node.js只有9歲。

相比之下,JavaScript已經有23歲了,而我們所熟悉的網路(在Mosaic問世之後)已經有25歲了。

對於一個技術而言,9年的歷史只是極短暫的時間,但Node.js似乎已經存在了很久很久。

我很榮幸從它剛出生的那天開始就與Node一起工作,儘管當時只有很少的資訊,但你已經能夠感覺到它是一個重大的事物。

在這篇文章中,我想從歷史的角度來概述Node的大局。

一點歷史

JavaScript是一種由Netscape創建的的網頁瀏覽器操控語言,用於操控瀏覽器內部的網頁,Netscape Navigator

Netscape的業務模式之一是出售Web伺服器,其中包括一個名為Netscape LiveWire的環境,可以使用伺服器端的JavaScript創建動態網頁。因此,伺服器端JavaScript的概念並不是由Node.js引入的,但它的歷史和JavaScript一樣久遠,只是當時並不成功。

導致Node.js崛起的重要因素之一就是時機。幾年來,JavaScript被視為一種認真的語言,多虧了“Web 2.0”應用程序,這些應用程序向世界展示了現代化Web體驗的可能性(比如Google Maps或GMail)。

JavaScript引擎的性能水平大幅提高,多虧於瀏覽器競爭的戰鬥,這場戰鬥至今依然激烈進行中。每個主要瀏覽器背後的開發團隊每天都在努力提供更好的性能,這對於JavaScript作為一個平台來說是個巨大的勝利。Node.js在幕後使用的V8引擎就是其中之一,特別是Chrome的JS引擎。

但當然,Node.js不僅僅因為純粹的運氣或時機而受歡迎。它在JavaScript在服務器端的編程上引入了很多創新思維。

2009年

  • Node.js誕生
  • 第一個形式的npm誕生

2010年

2011年

  • npm達到1.0版本
  • 大公司開始採用Node.js:LinkedIn, Uber Hapi誕生

2012年

  • 采用速度非常快

2013年

  • 第一個使用Node.js的大型網站平台:Ghost
  • Koa誕生

2014年

  • 大分叉:io.js是Node.js的一個重大分叉,旨在引入ES6支持並加快發展速度

2015年

  • Node.js基金會成立
  • io.js合併回Node.js
  • npm引入私有模組
  • Node 4(此前曾沒有1、2、3版本的發布)

2016年

2017年

  • npm更加關注安全性
  • Node 8 - 9
  • HTTP/2
  • V8將Node納入測試套件,正式將Node作為JS引擎的目標之一,除Chrome外還有許多JS引擎
  • 每週下載30億個npm套件

2018年

  • Node 10 - 11
  • ES模塊 .mjs實驗性支持

2019年

  • Node 12 -13
  • 開始開發Deno,以支持現代JavaScript,將服務器端JS帶入下一個十年

2020年

  • Node 14 - 15
  • GitHub(由Microsoft擁有)收購NPM