Node.js 2021年開發者報告解讀:健康穩步的發展中

語言: CN / TW / HK

很多人覺得Node.js沒有往年那麼火了,事實上不是這樣的,Node.js社群健康穩步的發展中,主要是從效能好向好用轉變,在易用性上有很大提升,從Node.js原始碼更新的內容看,大抵如此。Node.js Diagnostics Working Group是近二年Node.js社群的重點工作組,Node.js 14版本之後的大部分功能特性都是這個工作組推動的。早在2015年,有2個跟蹤工作組tracing WG 和事後分析工作組 postmortem WG,在2017年合併到Diagnostics WG。核心產出是async_hooks, profiling, tracing, dump debug, report等,都是在易用性和好用性上做提升。讓每個Node.js開發者更低門檻的提升Node.js應用的開發體驗。

秦粵老師在《浮華過後的Node.js》分享裡,也表達了同樣觀點,他用的是產品化平緩期,也是健康穩步的發展的意思。

image.png

社群方面,Web框架已經沒有多少空間,以特性取勝的框架,應該不會很多,比較期待Egg3。像fastify這種,修改Node.js機制,在效能領域深耕的框架,目前看是比較有作為的。pnpm是有創新的,但程式碼是有點可讀性不太好。我更加喜歡rushstack對menorepo的改進,大規模程式設計正規化還需要探索。除了去年提的midway-hooks,easy-monitor,看起來remix和morden算新,但還沒有超出之前的範疇。

下面結合《Node.js開發者2021報告》內容,我們詳細解讀一下Node.js 2021年的情況。這份解讀是根據冰森&狼叔直播內容整理的,要點如下。

Node.js 開發者 2021 報告原文:https://nodersurvey.github.io/reporters/

或點選閱讀原文直接檢視。

1)開發框架變化較大,造輪子變少,TS變多,使用企業級框架變多

去年express佔比還非常高,今年企業級框架變多,尤其是大而全的框架更受歡迎。

image.png

Egg在國內普及率很高,而Midway和Nest增長較快,其實和TS普及有一定關係。

2)版本更新變化較大,從Node 12升級到Node 14,升級比較積極

去年Node.js主要是使用Node 12,2021年Node 14佔比將近一半,更新還是較快的。

3)吐槽變多,意味著用的人變多,趨於成熟

C++之父Bjarne Stroustrup說過:世界上只有兩種程式語言,一種是整天被人罵的,還有一種是沒人用的。

大家對Node.js吐槽變多,實際上是在應用場景上使用較多,不再是針對於某些特性而進行吹捧。迴歸理性,在真實應用場景上,分佈廣泛,核心圍繞API和BFF層,CLI&工具。

4)出圈:年齡分佈較去年比變大,使用工種也變得比較豐富。

除了應用場景上,分佈廣泛外,非前端以外的開發者相關角色也有很大比例的提升,比如架構師,技術總監,專案經理等都一定程度上使用Node.js。可以說Node.js走出了前端圈,面向更大群體提供服務。另外受訪者的年齡分佈也變大了,這和出圈是有直接關係的。

5)使用困惑:效能優化,記憶體洩漏以及npm依賴

以往對Node.js困惑最多的是非同步流程控制,隨著async/await的普及,這個問題已經慢慢在弱化。隨著開發者使用Node.js深度增加,對效能優化,記憶體洩漏更為關注,這也是比較容易理解的。

image.png

6)未來:從業經驗越高則越關注效能和 Serverless

關注效能比較容易理解,關注Serverless最主要是的原因是Serverless可以做到低運維甚至是0運維。運維作為Node.js開發者必備技能,Serverless的出現使得很多非專業Node.js也能輕鬆搞定Node.js各種服務端場景。

image.png
image.png

推薦閱讀

  • 天豬《EggJS 的前世今生與未來》,比較期待Egg3,easy-monitor作者一君也加入Egg3專案組了 https://www.yuque.com/atian25/blog/egg-1to2to3

  • 秦粵 《浮華過後的Node.js》連結稍後給出來

參考

  • 原文  https://cnodejs.org/topic/6108bbc2a5d29d175c2d4208

  • 報告 https://nodersurvey.github.io/reporters

如果大家想參與討論,歡迎回復

關注 「Alibaba F2E」 微信公眾號 把握阿里巴巴前端新動向