整理 | 蘇宓
【資料圖】
出品 | CSDN(ID:CSDNnews)
誕生于世紀(jì)之交的 JavaScript,經(jīng)歷了 27 年的發(fā)展,已成為當(dāng)今世界上最受開發(fā)者歡迎的編程語言之一。
近日,stateofjs.com 網(wǎng)站正式發(fā)布了《2022 年 JavaScript 年度調(diào)查報告》,該報告調(diào)查了近 4 萬名開發(fā)者,調(diào)研對象數(shù)量是去年的兩倍。而之所以如此大規(guī)模地調(diào)研,是因為 JavaScript 穩(wěn)居行業(yè)多年,以至于不少人開始質(zhì)疑其真實的發(fā)展現(xiàn)狀。
譬如,Solid、Qwik 這樣新的前端框架迅速崛起,性能直逼原生 JavaScript,更有不少網(wǎng)友直呼:這才是我理想中的 React;在服務(wù)器端,Astro、Remix 和 Next.js 框架讓很多開發(fā)者正在重新思考我們到底需要向客戶端發(fā)送多少代碼。JavaScript 生態(tài)的發(fā)展正在悄然之間發(fā)生了很多的變化,包括一些功能在認(rèn)識度和使用率方面出現(xiàn)了下滑的趨勢。
為了更進(jìn)一步全面地了解 JavaScript 的工具與框架發(fā)展,我們也將深度解讀最新的報告內(nèi)容,希望對大家有所裨益。
JavaScript 開發(fā)者越老越吃香
眾所周知,任何能夠用 JavaScript 實現(xiàn)的應(yīng)用,最終都必將用 JavaScript 實現(xiàn)。正因此,它是 GitHub 等代碼托管平臺中項目最常用的語言之一。
使用一門技術(shù)越久越吃香,在 JavaScript 身上體現(xiàn)得淋漓盡致。根據(jù)調(diào)查數(shù)據(jù)顯示,擁有 10 年以上 JavaScript 經(jīng)驗的開發(fā)者越有可能獲得高薪,其中,具有 20 年以上經(jīng)驗的 JavaScript 開發(fā)者獲得 10-20 萬美元(人民幣約 67 萬—135 萬元)的占比最高,為 40%,獲得大于 135 萬元報酬的受訪者占比 14%。
擁有 5 年以下開發(fā)經(jīng)驗的受訪者,薪資都在 5 萬美元(人民幣約 34 萬)以下以下。
中國 JavaScript 開發(fā)者薪酬在 20 萬-34 萬元,占比最高
今年報告覆蓋了全球多個國家,美國 JavaScript 開發(fā)者人數(shù)最高,占比 11.9%。中國參與調(diào)研的開發(fā)者占比 0.8%。
開發(fā)者群體以年輕人為主力軍,24-34 歲的開發(fā)者占比最高,達(dá) 36.5%。
美國 JavaScript 開發(fā)者薪酬集中在 100k-200k 美元(人民幣約 67萬—135萬元),占比 53.2%。50k-100k 美元((人民幣約 34萬—67萬元))的受訪者占比排名第二,為 16.9%。其次,掌握 JavaScript 獲得高薪的程序員所處的國家分別是以色列、瑞士、澳大利亞、挪威。
中國 JavaScript 開發(fā)者獲得 30k-50k 美元(人民幣約 20萬—34萬元)的人數(shù)最多,占比 24.2%。
WebAssembly 輝煌不再?
在技術(shù)層面,官方給出了這樣一則評價,「JavaScript 技術(shù)可能發(fā)展得很快,但似乎 JavaScript 開發(fā)者更能與時俱進(jìn),因為許多相對較新的功能已經(jīng)顯示出很高的采用率了?!?
該報告將 JavaScript 生態(tài)劃分了語言、瀏覽器 API、其他功能特性三個類別進(jìn)行了調(diào)研。下圖中的外圈尺寸代表了了解這個特性的用戶數(shù)量,內(nèi)圈尺寸代表了實際使用這個特性的用戶數(shù)量。
具體來看,在語言維度上,最常用的技術(shù)是 ish Coalescing,占比高達(dá) 81.7%,用戶量每年也在迅速增長。其次是 Top level await、String.prototype.replaceAll,分別占比 67.5% 和 64.6%。
在瀏覽器 API 上,WebSocket 使用率最高,占比 66.5%。不過,該技術(shù)的用戶量逐年遞減。其次最常用的 API 包括 Shadow DOM、Service Workers。
在其他功能特性上,過去一年,很多人并不再看好 WebAssembly 的發(fā)展,甚至經(jīng)常在云中,將其與 K8s 做對比。此前 HTTP Archive 發(fā)布的 2022 年 Web 技術(shù)報告顯示:“WebAssembly 的應(yīng)用還不夠廣泛,我們并沒有發(fā)現(xiàn)使用量的增加,反而看到了小幅收縮。”根據(jù)最新的調(diào)查數(shù)據(jù)顯示,事實確實如此, WebAssembly 當(dāng)前的使用率為 20.1%,用戶量并不算高。 不過,使用的它的開發(fā)者數(shù)量每年有所上升。
React 上行,Angular 下行
下圖顯示了 2016-2022 年 JavaScript 生態(tài)中的技術(shù)演進(jìn)發(fā)展路線,較高的點表示更多的人在使用該技術(shù),較右邊的點意味著更多的受訪者想要學(xué)習(xí)它或者已經(jīng)使用過且還會再次使用。
整體而言,不難看出,近 6 年間,前端框架、Rendering Frameworks、測試工具、移動端和客戶端、構(gòu)建等工具發(fā)展得非常迅速。
以 React 為例,2016-2019 年是 React 的上升期,其用戶量呈指數(shù)級上漲。不過在 2020 年之后,開發(fā)者對 React 的熱情逐漸消減。
當(dāng)談及前端框架時,很多人第一反應(yīng)便是 React、Angular、Vue.js 三劍客。不過當(dāng)前,三劍客雖然還在,但是它們?nèi)齻€卻往不同的方向前進(jìn)。
根據(jù)下圖顯示,React 用戶粘性最強(qiáng),有 57% 的受訪者表示“用過這個技術(shù),以后還會再用”,其次滿意度最高的便是 Vue.js。
與前兩者形成鮮明對比的是,開發(fā)者逐漸對 Angular 表示不滿,有高達(dá) 24% 的開發(fā)者稱,“用過這個技術(shù),以后不會再使用”,還有 34% 的受訪者直接表示對這個技術(shù)不感興趣。
事實上,老牌工具的衰落,一定程度上彰顯了新技術(shù)的崛起。在前端框架領(lǐng)域,Solid、Svelte 使用率上漲,滿意度排名第一和第二位。
另外,在跨平臺工具上,老牌的跨平臺桌面應(yīng)用開發(fā)工具 Electron 滿意度下滑嚴(yán)重,相比 2017 年 92.8% 的滿意度,現(xiàn)在只有 74.8% 的受訪者對其滿意。
相反,原生開發(fā)越來越受歡迎。同時,2021 年發(fā)布的 Tauri 得到了 91.7% 開發(fā)者的支持。
近兩年間,JavaScript 構(gòu)建工具層出不窮。Parcel、tsc CLI、Rome、Snowpack、SWC、esbuild、Vite 等都是近兩年新誕生的工具。不過在滿意度上,新工具后來居上,Vite、esbuild、SWC 分別排在 Top 3 位置。
Vite 摘得三個獎項桂冠,成為開發(fā)者最常用、最滿意、關(guān)注度最高的技術(shù)
報告還根據(jù)開發(fā)者對代碼庫的滿意度進(jìn)行了排名,其中滿意度是指“會再次使用這個庫的人數(shù)”(注:使用率不到 10% 的代碼庫不包括在內(nèi))。
值得關(guān)注的事,Vite 是尤雨溪于 2019 年重磅推出的下一代前端開發(fā)和構(gòu)建工具,它的插件 API 和 JavaScript API 帶來了高度的可擴(kuò)展性。根據(jù)最新數(shù)據(jù)顯示, Vite 以 98% 的滿意度當(dāng)選開發(fā)者最想要使用的工具框架。
與此同時,stateofjs.com 網(wǎng)站還評選出今年 JavaScript 技術(shù)的一些獎項。意料之中,Vite 成為最大的亮點,其包攬了三個獎項,分別是采用最多的技術(shù)、最高滿意度、最受關(guān)注。
另外,top-level await 以 26.4% 的占比獲得開發(fā)者“采用最多的特性”獎項。Astro 是受訪者提及最多的項目,Private Fields 獲得“最多評論”獎項;React 是最受熱議的庫。
寫在最后
「一日不學(xué)十日空」,用以形容 JavaScript 的變化雖有些夸張,但是并不為過。因為,近五成開發(fā)者覺得 JavaScript 生態(tài)系統(tǒng)變化得太快了。
對于開發(fā)者而言,JavaScript 最難的三個痛點分別是代碼架構(gòu)、管理依賴項、狀態(tài)管理。
目前 JavaScript 最缺少的功能是:Static Typing、標(biāo)準(zhǔn)庫、更好的 Data Management。
當(dāng)然,不少受訪者也希望在未來看到 JavaScript 更完善的生態(tài)與功能。
對于過去一年 JavaScript 的發(fā)展,來自 Google 的工程和網(wǎng)絡(luò)基礎(chǔ)設(shè)施總監(jiān) Sarah Drasner 總結(jié)道,「JavaScript 和 TypeScript 比以往更有活力。」
其表示,“當(dāng)我們看到像 React、Angular 或 Vue 這樣的成熟框架滿意度下降時,很多人很可能會思考這對未來意味著什么。我相信,這種下降趨勢是工具在生產(chǎn)中被測試和使用的真實體現(xiàn)。這是一個成熟的標(biāo)志,也是對這些工具所能提供的清晰認(rèn)識。他們還將從該領(lǐng)域的創(chuàng)新中學(xué)習(xí)并繼續(xù)發(fā)展。
最后,我非常高興地看到 Vite 連續(xù)第二年獲得了獎項,其開發(fā)和服務(wù)技術(shù)確實正在取得巨大的進(jìn)步,我們都從這一艱苦的工作中受益。好樣的!”
關(guān)鍵詞: 人民幣約 數(shù)據(jù)顯示 用戶數(shù)量