Node.js之父Ryan Dahl今年6月一場公開演講上坦言,Node.js有十大設計錯誤

根據Stack overflow今年10萬人開發大調查,JavaScript連續六年奪下,最常用的開發語言龍頭,而伺服器端的JavaScript框架Node.js更再度奪下全球最多開開發者最常用開發框架第一名,將近5成開發者愛用(49.6%)經常使用,比去年還微幅上升了2個百分點,遠高於排名第二的Angular(36.9%)。

雖然大受開發者青睞,但Node.js之父Ryan Dahl卻在今年6月一場公開演講上坦言,Node.js有十大設計錯誤,甚至可說是他的10大悔恨(,他甚至用了regret來形容)!為了償還這筆超大的技術債,他重新設計了新的框架Deno,要來解決這些過去犯過的錯誤。

2009年,因為在瀏覽器端用Flickr上傳檔案進度時,難以得知檔案數的一個小需求,讓Ryan Dahl設計出這個伺服器端的JavaScript框架,至今已經發展到了第10版。而隨Node.js而生讓另一位開發者Isaac設計出JavaScript套件管理工具npm,更成了網頁開發者必懂得技術,在npm的儲存庫上,註冊了超過60萬個Node.js模組,更讓Node.js的應用遍及各類開發或程式需求。

這些讓Ryan Dahl懊悔不已的錯誤,包括了沒用JavaScript非同步處理的Promise物件、低估安全的重要、採用gyp來設計Build系統、沒有聽大家建議提供FFI而繼續用gyp、過度依賴npm(內建package.json支援)、太容易可require("任意模組")、package.json建立錯誤的模組概念(在同一目錄下的檔案就是同一模組)、又肥又複雜的node_module設計和下載黑洞(往往下載npm得花上非常久的時間)、require("module")時沒有強制加上.js附加檔名,以及無用的index.js設計。

2012年時,Ryan Dahl以為經過了3年,Node.js的發展可說是步上正軌,也達到他最初的目標,因而決定離開Node.js開發社群,但他坦言,他錯了,Node.js還有大把問題要修。尤其,他坦言,離開Node.js開發團隊後,後續都由開發社群接手擔任維護主力,所以,現在他回來了,要來償還當年的技術債,挽回Node.js的設計錯誤。他的答案就是新的伺服器端框架Deno

Deno是一個在V8上的TypeScript runtime,設計目標是安全、模組簡潔、單一可執行檔(簡化封裝)等。Deno可以透過URL來匯入各種模組,可以存取各種資源,甚至是透過網路來寫入磁碟,也能在安全的沙箱中執行程式。
Ryan Dahl希望2018年可以成為Deno崛起的一年。他也將在11月17日來臺參加臺灣JavaScript開發者年會,親自向臺灣JavaScript和網頁開發者介紹,這個用來償還Node.js技術債的新框架Deno。

Ryan Dahl的十大Node.js錯誤演講影片

 

 


Advertisement

更多 iThome相關內容