全球著名的幾大公司是如何開始擁抱 Node.js 的
「閱」——JSCourse 旗下欄目,專門推薦我們為大家精心挑選的優質 JavaScript 相關技術內容
最近小編讀到了一篇來自一名國外工程師——Anthony Delgado 的文章,這篇文章叫《JavaScript Is Eating The World》,翻譯得兇猛一點的話就叫《JavaScript 正在蠶食這個世界》,非常的標題黨!有木有!我呢,讀完之後,給大家總結了一下,取了現在這個比較務實的標題(虛心聽取大家意見,改正標題黨的陋習),來給大家講講國外幾大著名公司是如何擁抱 Node.js 的,不牽涉技術細節,大家純當聽故事。
NETFLIX
圖片來自:https://dev.to/anthonydelgado/javascript-is-eating-the-world
這家公司的產品(網站)沒有梯子一般訪問不到,但是我相信大家都知道這家公司,就算你不知道這家公司,看美劇的朋友應該知道《紙牌屋》、《毒梟》這兩部 NETFLIX 的自製劇!所以 NETFLIX 就是國外很知名的視頻網站,類似我們的幾大視頻網站:優酷、愛奇藝之類的。他們後端以前一直都是 Java,整體架構也比較複雜,業務發展很快,很多老的代碼都很難維護,後來為了跟上業務發展的步伐,他們要做整體架構大調整,遵循簡潔高效的面向服務的架構目標,過程中他們把服務端相對比較靠前的部分全部採用 Node.js 來實現,後面還是 Java,於此同時前端部分也採用 ReactJS 重寫掉了。之所以採用 Node.js 其中一個很重要的原因就是他們希望前後端能夠使用同一種語言,這樣他們的工程師就沒有跨語言的障礙和成本(knowledge shifting),而且 Node.js 整個社區活躍,生態系統中有大量成熟的工具。小編開始劃重點:雖然這裡不牽涉細節的部分,但是我們可以發現將 Node.js 引入到現有技術棧中,也是需要一個好的契機,比如面臨整體公司技術戰略上的大調整之類的,只有站在這個「風口」上,你去推一個新技術才能更加順風順水。如果你對 NETFLIX 使用 Node.js 的故事感興趣,可以爬梯去看這個 youtube 的視頻:https://www.youtube.com/watch?v=p74282nDMX8。
PayPal
圖片來自:https://dev.to/anthonydelgado/javascript-is-eating-the-world
PayPal 後端也是 Java,2012 年上半年的時候他們用 Node.js 做一些原型來驗證是否 Node.js 開發起來足夠高效性能也更好。他們是怎麼做驗證的呢?非常有意思,就是兩波團隊,實現同樣的功能,一個用 Java,一個用 Node.js 然後進行各方面的比較(一般沒有點魄力是不敢幹這個事情的)。驗證後,到了下半年,他們就開始用 Node.js 來取代 Java/Spring 了,真正首次用到生產環境的是 PayPal 產品中的一個「賬戶概覽」頁面,這個頁面訪問量是巨大的,也在生產環境驗證了 Node.js 可以擔當重任。到了 2013 年,他們開源了一個 ExpressJS 的擴展——KrakenJS,提供很多非常實用的擴展,特別是安全性方面的(畢竟是和錢打交道的)。你也可以通過這個 youtube 的視頻了解更多信息——https://www.youtube.com/watch?v=-00ImeLt9ec。
微軟
圖片來自:https://dev.to/anthonydelgado/javascript-is-eating-the-world
微軟的 Azure 雲平台已經支持了 Node.js,意味著你可以在 Azure 部署 Node.js 的應用。小編還記得 2012 年的時候在「滬 JS」 大會上一位微軟的講師給大家演示如何在 Azure 上部署一個 Node.js 應用,那個時候應該是 Azure 剛剛支持 Node.js。除此之外,微軟還專門開源了另外一個版本的 Node.js——node-chakracore,這個項目什麼意思呢?就是他們實現了和 Node.js 一樣的功能,但是把 V8 去掉了,換成了他們自己的 chakracore(就是 Edge 瀏覽器的 JS 引擎),非常有意思的事情!這件事情有什麼好處呢?我們「JSCourse」之後會做一期課程專門會提到這個項目可以用來幹嘛(非常難以置信)。更有意思的是他們的工程師還演示了如何利用 Node.js 和 Azure 來做一個糖尿病患者的實時血壓監控系統,請爬梯觀看——https://www.youtube.com/watch?v=TSBZIoLWJQo。
IBM
圖片來自:https://dev.to/anthonydelgado/javascript-is-eating-the-world
IBM 這種老牌軟體公司也擁抱了 Node.js,而且抱得還不是一般的緊。他們最早用 Node.js 做了一個很成功的冒煙測試工具——CITGM,這個是內部的工具,而且據說還用在 node core 本身。除此之外,小編最想要提的其實是下面這件事情。現在很多人在用的 ExpressJS,IBM 也是接管在開發和維護的。這裡有個小故事,ExpressJS 最早是 TJ 開發的,後來 TJ 轉到 Go 語言了之後他要為他的眾多知名開源項目尋找維護者,ExpressJS 就是其中之一,然後呢一家專門圍繞 Node.js 做一些開源的工具產品的公司叫:StrongLoop 接管了 ExpressJS,而且他們開發了很多非常有用的框架和工具,比如:LoopBack,後來 StrongLoop 被 IBM 收購了,所以 IBM 和 StrongLoop 的人就共同承擔了開源這方面的工作。而且 Node Core 項目的 TSC 中也有幾位 IBM 的工程師。最後值得一提的是,他們的 Visual Studio Code 編輯器,應該應該有很多 JavaScript 工程師在用了,它內置的 Node.js 調試功能也是非常舒爽!所以,他們其實對開源社區貢獻還是很大的,感謝!
其實近幾年我們國內大公司也在產品各個方面使用 Node.js,BAT 三大巨頭都在大規模在生產環境中使用 Node.js,很多的創業公司也選擇 Node.js 來快速開發產品(下次可以專門寫一期國內版的)。
好了,故事聽完了,如果你也對 Node.js 感興趣,也不妨去看看、學學!
TAG:jscourse |