整理 | 蘇宓
誕生於世紀之交的 JavaScript,經歷了 27 年的發展,已成為當今世界上最受開發者歡迎的程式語言之一。
近日,stateofjs.com 網站正式發佈了《2022 年 JavaScript 年度調查報告》,該報告調查了近 4 萬名開發者,調研對象數量是去年的兩倍。而之所以如此大規模地調研,是因為 JavaScript 穩居行業多年,以至於不少人開始質疑其真實的發展現狀。
譬如,Solid、Qwik 這樣新的前端框架迅速崛起,性能直逼原生 JavaScript,更有不少網友直呼:這才是我理想中的 React;在伺服器端,Astro、Remix 和 Next.js 框架讓很多開發者正在重新思考我們到底需要向客戶端發送多少程式碼。JavaScript 生態的發展正在悄然之間發生了很多的變化,包括一些功能在認識度和使用率方面出現了下滑的趨勢。
為了更進一步全面地了解 JavaScript 的工具與框架發展,我們也將深度解讀最新的報告內容,希望對大家有所裨益。


JavaScript 開發者越老越吃香
眾所周知,任何能夠用 JavaScript 實現的應用,最終都必將用 JavaScript 實現。正因此,它是 GitHub 等程式碼託管平台中項目最常用的語言之一。
使用一門技術越久越吃香,在 JavaScript 身上體現得淋漓盡致。根據調查資料顯示,擁有 10 年以上 JavaScript 經驗的開發者越有可能獲得高薪,其中,具有 20 年以上經驗的 JavaScript 開發者獲得 10-20 萬美元(人民幣約 67 萬—135 萬元)的佔比最高,為 40%,獲得大於 135 萬元報酬的受訪者佔比 14%。
擁有 5 年以下開發經驗的受訪者,薪資都在 5 萬美元(人民幣約 34 萬)以下以下。


中國 JavaScript 開發者薪酬在 20 萬-34 萬元,佔比最高
今年報告覆蓋了全球多個國家,美國 JavaScript 開發者人數最高,佔比 11.9%。中國參與調研的開發者佔比 0.8%。

開發者群體以年輕人為主力軍,24-34 歲的開發者佔比最高,達 36.5%。

美國 JavaScript 開發者薪酬集中在 100k-200k 美元(人民幣約 67萬—135萬元),佔比 53.2%。50k-100k 美元((人民幣約 34萬—67萬元))的受訪者佔比排名第二,為 16.9%。其次,掌握 JavaScript 獲得高薪的程式設計師所處的國家分別是以色列、瑞士、澳大利亞、挪威。

中國 JavaScript 開發者獲得 30k-50k 美元(人民幣約 20萬—34萬元)的人數最多,佔比 24.2%。


WebAssembly 輝煌不再?
在技術層面,官方給出了這樣一則評價,「JavaScript 技術可能發展得很快,但似乎 JavaScript 開發者更能與時俱進,因為許多相對較新的功能已經顯示出很高的採用率了。」
該報告將 JavaScript 生態劃分了語言、瀏覽器 API、其他功能特性三個類別進行了調研。下圖中的外圈尺寸代表了了解這個特性的使用者數量,內圈尺寸代表了實際使用這個特性的使用者數量。

具體來看,在語言維度上,最常用的技術是 Nullish Coalescing,佔比高達 81.7%,使用者量每年也在迅速增長。其次是 Top level await()、String.prototype.replaceAll(),分別佔比 67.5% 和 64.6%。

在瀏覽器 API 上,WebSocket 使用率最高,佔比 66.5%。不過,該技術的使用者量逐年遞減。其次最常用的 API 包括 Shadow DOM、Service Workers。

在其他功能特性上,過去一年,很多人並不再看好 WebAssembly 的發展,甚至經常在雲中,將其與 K8s 做對比。此前 HTTP Archive 發佈的 2022 年 Web 技術報告顯示:「WebAssembly 的應用還不夠廣泛,我們並沒有發現使用量的增加,反而看到了小幅收縮。」根據最新的調查資料顯示,事實確實如此,WebAssembly 當前的使用率為 20.1%,使用者量並不算高。不過,使用的它的開發者數量每年有所上升。


React 上行,Angular 下行
下圖顯示了 2016-2022 年 JavaScript 生態中的技術演進發展路線,較高的點表示更多的人在使用該技術,較右邊的點意味著更多的受訪者想要學習它或者已經使用過且還會再次使用。
整體而言,不難看出,近 6 年間,前端框架、Rendering Frameworks、測試工具、移動端和客戶端、構建等工具發展得非常迅速。

以 React 為例,2016-2019 年是 React 的上升期,其使用者量呈指數級上漲。不過在 2020 年之後,開發者對 React 的熱情逐漸消減。

當談及前端框架時,很多人第一反應便是 React、Angular、Vue.js 三劍客。不過當前,三劍客雖然還在,但是它們三個卻往不同的方向前進。
根據下圖顯示,React 使用者粘性最強,有 57% 的受訪者表示「用過這個技術,以後還會再用」,其次滿意度最高的便是 Vue.js。
與前兩者形成鮮明對比的是,開發者逐漸對 Angular 表示不滿,有高達 24% 的開發者稱,「用過這個技術,以後不會再使用」,還有 34% 的受訪者直接表示對這個技術不感興趣。

事實上,老牌工具的衰落,一定程度上彰顯了新技術的崛起。在前端框架領域,Solid、Svelte 使用率上漲,滿意度排名第一和第二位。

另外,在跨平臺工具上,老牌的跨平臺桌面應用開發工具 Electron 滿意度下滑嚴重,相比 2017 年 92.8% 的滿意度,現在只有 74.8% 的受訪者對其滿意。
相反,原生開發越來越受歡迎。同時,2021 年發佈的 Tauri 得到了 91.7% 開發者的支持。

近兩年間,JavaScript 構建工具層出不窮。Parcel、tsc CLI、Rome、Snowpack、SWC、esbuild、Vite 等都是近兩年新誕生的工具。不過在滿意度上,新工具後來居上,Vite、esbuild、SWC 分別排在 Top 3 位置。


Vite 摘得三個獎項桂冠,成為開發者最常用、最滿意、關注度最高的技術
報告還根據開發者對程式碼庫的滿意度進行了排名,其中滿意度是指「會再次使用這個庫的人數」(注:使用率不到 10% 的程式碼庫不包括在內)。
值得關注的事,Vite 是尤雨溪於 2019 年重磅推出的下一代前端開發和構建工具,它的外掛 API 和 JavaScript API 帶來了高度的可擴展性。根據最新資料顯示,Vite 以 98% 的滿意度當選開發者最想要使用的工具框架。

與此同時,stateofjs.com 網站還評選出今年 JavaScript 技術的一些獎項。意料之中,Vite 成為最大的亮點,其包攬了三個獎項,分別是採用最多的技術、最高滿意度、最受關注。

另外,top-level await 以 26.4% 的佔比獲得開發者「採用最多的特性」獎項。Astro 是受訪者提及最多的項目,Private Fields 獲得「最多評論」獎項;React 是最受熱議的庫。


寫在最後
「一日不學十日空」,用以形容 JavaScript 的變化雖有些誇張,但是並不為過。因為,近五成開發者覺得 JavaScript 生態系統變化得太快了。

對於開發者而言,JavaScript 最難的三個痛點分別是程式碼架構、管理依賴項、狀態管理。

目前 JavaScript 最缺少的功能是:Static Typing、標準庫、更好的 Data Management。

當然,不少受訪者也希望在未來看到 JavaScript 更完善的生態與功能。
對於過去一年 JavaScript 的發展,來自 Google 的工程和網路基礎設施總監 Sarah Drasner 總結道,「JavaScript 和 TypeScript 比以往更有活力。」
其表示,「當我們看到像 React、Angular 或 Vue 這樣的成熟框架滿意度下降時,很多人很可能會思考這對未來意味著什麼。我相信,這種下降趨勢是工具在生產中被測試和使用的真實體現。這是一個成熟的標誌,也是對這些工具所能提供的清晰認識。他們還將從該領域的創新中學習並繼續發展。
最後,我非常高興地看到 Vite 連續第二年獲得了獎項,其開發和服務技術確實正在取得巨大的進步,我們都從這一艱苦的工作中受益。好樣的!」
想要了解更多 JavaScript 技術現狀,可查看完整版報告內容:https://2022.stateofjs.com/en-US/