自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Node.js 紀(jì)錄片都講了什么?我做了這些關(guān)鍵時(shí)間線的總結(jié)!

開發(fā) 前端
2014 年 Isaac 選擇離開 Joyent 公司,不是因?yàn)閷?Node 感到厭倦,他認(rèn)為自己需要去修復(fù) NPM 的 BUG。在他接管 Node 的這段時(shí)間沒有很好的去管理 NPM。

Node.js 的這部紀(jì)錄片整體制作的很棒,觀看起來劇情也很精彩,就像電影一樣,中間有太多的戲劇性事件發(fā)生,你會看到 Node 的發(fā)展真是跌宕起伏,發(fā)展到今天實(shí)屬不易。

本文從一些關(guān)鍵的時(shí)間線以文字的形式做些整理,也算是看完這個(gè)視頻的一些記錄(省略了很多的對話,畢竟 1 個(gè)小時(shí)的視頻還是有很多內(nèi)容的)。還是很強(qiáng)烈的推薦大家去看一遍視頻版本,本視頻由 Honeypot 制作并發(fā)布在 https://cult.honeypot.io/originals/node-js-the-documentary/

便于大家觀看,筆者制作了中文字幕并發(fā)布在同名視頻號 “編程界”。

注:中文字幕翻譯版本只為交流學(xué)習(xí)目的,無任何商業(yè)行為,視頻版權(quán)仍歸原作者所有。

最開始的目標(biāo)

一開始 Node.js 創(chuàng)作者 Ryan Dahl 介紹了 Node.js 最初的目標(biāo)是使得開發(fā)人員僅使用異步 I/O 就可以輕松的構(gòu)建出高性能的服務(wù)器,當(dāng)前來看異步 I/O 已經(jīng)不是什么新鮮事了,大多數(shù)語言都在支持,但在 2008 時(shí)這還是一個(gè)陌生的概念。

圖片圖片

大約在 Chrome 和 V8 出來的時(shí)候,Ryan 開始思考 JavaScript、非阻塞服務(wù)器和 V8 之間的關(guān)系,這可能會組成一個(gè)強(qiáng)大的平臺。

在 2009 年像一些交互式的網(wǎng)站基本上不存在,當(dāng)時(shí)的網(wǎng)站還很慢,Node.js 的第一個(gè)版本是 Ryan Dahl 在科?。ǖ聡囊粋€(gè)城市)進(jìn)行研究的,為此它差不多停掉了手頭的其它所有事情。

npm 的創(chuàng)建者 Isaac Schlueter

Node.js 首次發(fā)布時(shí),Isaac 正在雅虎工作,在 JavaScript 前端和 PHP 后端之間不斷的切換,就在思考為什么 Node.js 能實(shí)現(xiàn)這一點(diǎn)。他認(rèn)為 Ryan 之所以選擇 JavaScript 并不是真的喜歡,而是因?yàn)樗谶@個(gè)場景更合適,還擁有大量的開發(fā)者社區(qū),還有一個(gè)重點(diǎn)是 JavaScript 語言本身沒有什么特定的 I/O 范式。

圖片圖片

像 Python、Lua、Perl 等這些語言,會發(fā)現(xiàn)在當(dāng)時(shí)它們已經(jīng)使用了更老式的同步 I/O 方法。

圖片圖片

NPM 創(chuàng)始人 Isaac 第一次嘗試時(shí) Node.js 的版本號是 0.0.6,再嘗試之后發(fā)出感嘆,感覺這更像是一個(gè)真正的 JavaScript 平臺。

之后逐漸加入 Node.js 生態(tài)的開發(fā)中,創(chuàng)造了 Node 的包管理器 NPM,起初它只是一個(gè)很簡單的 bash 腳本,從 Node 程序中來調(diào)用它。

Node 第一次引起關(guān)注

Node.js 的第一次引起大眾關(guān)注是在 JSConf EU 會議上(歐洲的一個(gè)專業(yè)、非營利性的 JavaScript 社區(qū)會議),Ryan 為此提前幾周都開始做起了準(zhǔn)備,在會議上 Ryan 演示了一個(gè)類似于聊天的應(yīng)用,觀眾可以實(shí)時(shí)鏈接到并聊天,在當(dāng)時(shí)這是一個(gè)很令人驚訝的事情,原來還可以這樣做!

這次的演講是成功的,為 Node.js 的發(fā)展帶來了很大的推動(dòng)。令 Ryan 最擔(dān)心的是 WIFI 會不會斷掉,因?yàn)槟强墒?2009 年 ??

收到企業(yè)贊助

在這個(gè)階段 Ryan 開始開始收到有企業(yè)對 Node 項(xiàng)目感興趣,個(gè)人項(xiàng)目一直為愛發(fā)電長久下去也不是辦法,為此 Ryan 也開始尋找一些資助該項(xiàng)目的方法。

Joyent 公司正在建立一個(gè)托管服務(wù)提供商,它們希望 Node 能在這個(gè)上面運(yùn)行,這也是最開始資助 Node 的公司,為此 Ryan 也搬到了舊金山,開始全職從事 Node 開發(fā)工作。此時(shí),Node 也得到了飛速的發(fā)展。

Bert Belder 講述數(shù)據(jù)庫遷移

Bert Belder 是早期的 Node.js 核心開發(fā)者同時(shí)也是 Libuv 的創(chuàng)建者。

在他們的項(xiàng)目中需要進(jìn)行大型數(shù)據(jù)庫遷移,如果說你寫了很多的數(shù)據(jù)庫語句,一個(gè)接著一個(gè)做,那會話費(fèi)很多時(shí)間。當(dāng)使用 Node 完成數(shù)據(jù)庫遷移,還包括一些其它事情,這在一夜之間即可完成。

當(dāng)他在體驗(yàn)過 Node 后,就感覺這會是編程的未來。

Joyent 收購 Node.js

第一個(gè)真正能夠安裝東西的 NPM 大約是在 Node 0.0.8 版本發(fā)布時(shí)出現(xiàn)。但似乎在 Node 的下一個(gè)版本上不起作用。

Ryan 在 Joyent 工作了大概一年的時(shí)間后,Joyent 公司找到他并提出想要收購這個(gè)項(xiàng)目,這樣他們就可以擁有商標(biāo)、擁有網(wǎng)站并可以完全管理 Node 項(xiàng)目,還可以推廣他們的平臺。

圖片圖片

最后,Ryan 選擇同 Joyent 公司完成了這筆交易。

在這之后,就有用戶擔(dān)憂了,那 Node.js 之后會怎么樣?假如 Joyent 變得邪惡了...。

NPM 的創(chuàng)始人 Isaac 講到,如果真的出現(xiàn)不好的結(jié)果,Node 的代碼還是開源的,我們可以用它的代碼再重新起個(gè)名字。

Node.js 開始支持 Windows

在 2011 年時(shí),Node 只能在 MacOS 和 Linux 上運(yùn)行,不支持 Windows。

Bert Belder 參與推動(dòng)了 Node 支持 Windows,在這里介紹了 select、libev、libuv 之間的關(guān)系。也就是在這時(shí) Bert Belder 創(chuàng)造了 libuv(最初,貌似是 Ryan 的想法)

圖片圖片

Stack Overflow 上出現(xiàn)大量 Node.js 問題

當(dāng) Node.js 火爆后 Stack Overflow 上出現(xiàn)了大量 Node.js 的相關(guān)問題。

就連 .NET 社區(qū)也開始思考我們也許不該在用 .NET 來完成 Web 后端開發(fā),也采用了 Node,還在 Stack Overflow 上創(chuàng)建了一個(gè)完整的社區(qū)。

Ryan 離開,Isaac 接管 Node

在 2012 年時(shí),Ryan 表示我已經(jīng)在這里工作了 3 年,這是我第一個(gè)參與時(shí)間超過 6 個(gè)月的項(xiàng)目。在這里也感覺到有點(diǎn)精疲力盡,決定離開并推薦 Isaac 接管 Node。

圖片圖片

Isaac 表示有點(diǎn)困難,畢竟 Node 是 Ryan 創(chuàng)建的,也沒有他理解的那么深刻,他自認(rèn)為自己在這方面沒有 Ryan 那么權(quán)威。在成為 Node 代表后,也收到了一些負(fù)面的消息。Joyent 傳遞了一些信息,如下圖字幕所示(可能也會存在一些關(guān)系吧...):

圖片圖片

TJ 加入 Node

2013 年 Isaac 表示自己要處理的事務(wù)太多,沒有太多時(shí)間顧及 Node.js,此時(shí)他招了一個(gè)新成員 “TJ” 看到這個(gè)名字,Node 開發(fā)者應(yīng)該很熟悉了吧!現(xiàn)在用的 Express、Koa 這兩個(gè)項(xiàng)目可謂是師出同門啊,都是由他開源并發(fā)布的!

圖片圖片

TJ 到來后做了很多構(gòu)建工具類型的項(xiàng)目,像早期的構(gòu)建和部署 Node 的腳本(因?yàn)?Ryan 之前的做法很簡單,但用戶使用起來會有點(diǎn)麻煩...)

Isaac 離開 Joyent,TJ 接管 Node

2014 年 Isaac 選擇離開 Joyent 公司,不是因?yàn)閷?Node 感到厭倦,他認(rèn)為自己需要去修復(fù) NPM 的 BUG。在他接管 Node 的這段時(shí)間沒有很好的去管理 NPM。

圖片圖片

Isaac 匆忙離開后,Node 就交給了 TJ。TJ 的技術(shù)能力是公認(rèn)的沒問題,但是在管理上通過紀(jì)錄片的反饋來看,就像 Isaac 講的,他沒有在如何有效的運(yùn)作這個(gè)項(xiàng)目上得到太多的指導(dǎo)。

圖片圖片

這時(shí)候 Node 的問題開始逐步放大,例如發(fā)布緩慢、Bug 太多得不到修復(fù)等等。從紀(jì)錄片來看,還認(rèn)為 Joyent 公司擔(dān)心 Node 的一些更改對自己造成很大影響,因此,開始停止接受社區(qū)的貢獻(xiàn),對更新 V8 之類的事情也不再開放

Node Forward 成立和 io.js 分支出現(xiàn)

之所以成立 io.js 顯然是大家對 Joyent 管理 Node 的不滿,參與 io.js 的成員基本上都曾在 Node 上工作過。之所以叫 io.js 是因?yàn)樯虡?biāo)的問題,這會涉及到侵權(quán),當(dāng)初 Joyent 公司從 Ryan 那里購買 Node 時(shí),已經(jīng)購買了 Node/Node.js 這個(gè)商標(biāo),盡管代碼是開源的,但你不能在繼續(xù)用這個(gè)名字了。

圖片圖片

社區(qū)的感受是 Node 已經(jīng)停滯,io.js 是新的事務(wù),所以我要用 io.js。

io.js 的成立讓 Joyent 感到了壓力,如果他們繼續(xù)固執(zhí)己見、不加入基金最后可能擁有的 Node 也會出現(xiàn)問題。

2015 年 Joyent 公司表示他們不再需要成為 Node 的管理者,期望 Node 能成為一個(gè)統(tǒng)一的項(xiàng)目,被大家成功的廣泛使用。

圖片圖片

做為 Node 用戶的 IBM,開始推動(dòng) Node 和 io.js 合并的方案。

最終 Node 同 io.js 進(jìn)行了合并,可以看到合并時(shí) io.js 是 v3.0.0 版本,而 Node 還停留在 v0.12.0,合并后的第一個(gè) Node 版本是 v4.0.0。

圖片圖片

最后,以 Node 創(chuàng)始人 Ryan 的這個(gè)字幕來結(jié)束。

圖片圖片

這部紀(jì)錄片時(shí)間線重點(diǎn)介紹的是 Node 2015 年及之前的事情。很有意義,筆者是從 2016 第一次聽到 Node,了解到其所做的事情后,就表示 “哇!” 真的很驚訝的那種感覺,當(dāng)時(shí)也是網(wǎng)上找教程去學(xué)習(xí),那會還不像現(xiàn)在資源這么的多!2016 年那會還在讀大學(xué),也很感謝 Node,因?yàn)檫@也是我畢業(yè)后的第一份工作,至今仍是。

責(zé)任編輯:武曉燕 來源: 編程界
相關(guān)推薦

2014-12-22 09:39:02

BBC庫克

2020-03-17 17:18:12

戴爾

2011-09-02 14:47:48

Node

2023-03-20 08:53:40

2016-05-18 10:15:25

PythonNode.js

2012-05-02 15:56:20

PHP

2018-11-22 10:58:36

戴爾

2015-03-23 11:02:22

喬布斯蘋果冷酷

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2011-12-18 21:46:59

喬布斯

2015-09-15 11:49:47

喬布斯蘋果設(shè)計(jì)

2023-08-08 11:46:36

2020-05-29 15:33:28

Node.js框架JavaScript

2021-12-25 22:29:57

Node.js 微任務(wù)處理事件循環(huán)

2012-02-03 09:25:39

Node.js

2019-05-27 15:30:44

Node.jsJavaScript前端

2021-11-29 13:44:51

數(shù)字化

2012-06-28 10:21:37

JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號