Node.js 2021年開發者報告解讀

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。

很多人覺得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》分享里,也表達了同樣觀點,他用的是產品化平緩期,也是健康穩步的發展的意思。

f09d3bc1f503d15a282dbbe47268dc6e.png
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占比還非常高,今年企業級框架變多,尤其是大而全的框架更受歡迎。

f758ca16bdccee6fc3381b3707b1461a.png
image.png

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

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

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

473f27bf6577a623e3e00246dea8f9bc.png

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

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

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

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

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

5)使用困惑:性能優化,內存泄漏以及npm依賴

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

aed69a2b9f26edb2a0c54c93d71d748e.png
image.png

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

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

9fe2b9a6c2ec2064aa95e45a8d661785.png
image.png
1307831ada7ed4b95fdcd3daf6226ee1.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

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


18b068b133d2cc71eb7146d48d8a61a9.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助3000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

e84f93dc02f1d5571e75857245a25ef0.png

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274992.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274992.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274992.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

搭建nginx反向代理用做內網域名轉發

為什么80%的碼農都做不了架構師?>>> 情景 由于公司內網有多臺服務器的http服務要映射到公司外網靜態IP,如果用路由的端口映射來做,就只能一臺內網服務器的80端口映射到外網80端口,其他服務器的80端口只能映射到外網的…

外國經典兒童讀物合集pdf_幫助父母在線購買兒童讀物–用戶體驗案例研究

外國經典兒童讀物合集pdfT? As our first group project at GA, we needed to quickly learn how to use several online tools that helped our team of 4 collaborate and communicate while socially distant. Despite the rather extreme circumstances our team was stil…

Windows Azure Marketplace增加對六種語言和HTML5應用程序的支持

對于那些不熟悉Windows Azure Marketplace的人來說,它是一個供數據供應商和開發人員購買和銷售數據集和應用程序的在線市場。 可以在世界上的26個國家使用Windows Azure Marketplace,它現在支持6種語言,包括日語、漢語、法語、德語、西班牙語…

如何優雅處理 async await 錯誤——解讀小而美的 await-to-js 庫

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。這是源碼共讀活動第…

同態加法_同態的Spotify

同態加法重點 (Top highlight)When neumorphism was predicted to be one of the top 2020 UI design trends, I wanted to give it a shot. Having said that, I wanted to explore a type that had not gone overboard, neumorphism in Dark Mode.當neumorphism預計為頂部202…

ubuntu清除無效的右鍵打開方式

為什么80%的碼農都做不了架構師?>>> 今天安裝了幾個程序又將它們刪除了之后發現了一個比較嚴重的后遺癥,在相關文件右鍵打開方式中出現了許多實際已經不存在的文件打開程序名。想了多種方法去除,可是效果不佳,最終采用…

咖啡豆(JavaBean)?香

Sun公司對JavaBean的定義為:可以重復利用的軟件組件,它在遵循JavaBean技術規范的基礎上提供特定的功能,這些功能模塊可以組成更大規模的應用系統。 到底什么是JavaBean? 先看一段代碼: /** * author yong * */ public class Add { public st…

新一代的編譯工具 SWC,97年小哥寫的~

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。最近前端圈掀起了一…

開始學習jQuery和準備工作

<script>$(document).ready(function(){}); 首先&#xff0c;在頁面頂部添加一行script元素&#xff0c;然后在下一行寫上結束符。 瀏覽器會運行script里所有的Javascript&#xff0c;包括jQuery。 在你的script元素里&#xff0c;添加這段代碼&#xff1a;$(document).r…

粉紅噪音_粉紅的常綠力量

粉紅噪音I use Instagram. But I don’t use Instagram in the way that my daughters, who are 21 and 14, use Instagram. More to the point, Instagram doesn’t use me in quite the same way it uses my daughters.我使用Instagram。 但是&#xff0c;我不會像21歲和14歲…

Sql Server 中存儲過程的output return的區別

看http://zxianf.blog.163.com/blog/static/301207012009114104124969/中片關于Sql Server中存儲過程output和return值的區別 在里面有講解&#xff0c;我在自己本機中測試的結果如下&#xff0c; 1&#xff1a;ReturnValue只能返回0,1,-1這樣的數據&#xff0c;局限性很大 &am…

1個月增長15000 star,zx 庫寫shell腳本真不錯~

大家好&#xff0c;我是若川。持續組織了5個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。今天來討論一個牛逼…

灰色邊框陰影_50種暗模式灰色陰影

灰色邊框陰影If you’re an avid dark mode user like me, you’ll know that dark mode isn’t just about white text on black backgrounds. In a single app, a handful of shades of gray give the app some depth. And across various apps, the spectrum of gray become…

Android源代碼下載

為什么80%的碼農都做不了架構師&#xff1f;>>> Android代碼使用git管理, 所以關于Android源碼下載一般來說要安裝git. 本文是講述只使用Eclipse完成Android源碼下載和關聯. 下載Eclipse,目前最新版本是Juno,自帶了EGit插件-->Eclipse Git插件 那么可以使用EGit…

關于nginx調轉404錯誤頁面

在server{}模塊添加如下&#xff1a; error_page 404 /404.html; location /404.html { root /var/www/html/sina/; #“404目錄地址” }轉載于:https://www.cnblogs.com/alang85/archive/2012/03/01/404_error.html

尤雨溪:Vue 3 將成為新的默認版本

過完年&#xff0c;大年初七&#xff0c;Vue3 將成為默認版本&#xff0c;這時感覺我之前寫的幾篇文章都可以抽空更新一版了。尤雨溪推薦神器 ni &#xff0c;能替代 npm/yarn/pnpm &#xff1f;簡單好用&#xff01;源碼揭秘&#xff01;Vue 3.2 發布了&#xff0c;那尤雨溪是…

shell編程系列20--文本處理三劍客之awk常用選項

shell編程系列20--文本處理三劍客之awk常用選項awk選項總結選項 解釋 -v 參數傳遞 -f 指定腳本文件 -F 指定分隔符 -V 查看awk的版本號[rootlocalhost shell]# awk -v num2"$num1" -v var1"$var" BEGIN{print num2,var…

v-charts加載動畫_加載動畫-用戶體驗寫作練習

v-charts加載動畫Many new UX writers often struggle to find the balance between creativity and clarity. You can’t make everything fun/exciting/interesting as it can have an adverse effect on usability. But there are times when you can add a bit of flair.許…

linux 常用命令收集

關機&#xff1a;poweroff&#xff0c;shutdown -h now&#xff0c;init 0重啟&#xff1a;reboot&#xff0c;shutdown -r now&#xff0c;init 6 關閉x-window&#xff1a;init 3啟動x-window&#xff1a;init 5&#xff0c;start x1.終止命令&#xff1a;ctrlc 2.結束輸入…

34歲回顧人生,也怕中年危機!

大家好&#xff0c;我是若川。持續組織了5個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。最近發生一件令人感…