最受歡迎的前端技術(shù)揭曉,你用過嗎?
今天,StateOfJS 公布了一年一度的 JS 現(xiàn)狀調(diào)查結(jié)果,Vite 成為年度最受歡迎、使用量增長最快、使用留存率最高的前端技術(shù)。本文精選并整理了調(diào)查報告的部分關(guān)鍵信息,分享給大家!
先頒個獎
Vite 家族霸榜。
獎項(xiàng) | 獲獎?wù)?/strong> | 獲獎?wù)f明 |
最常采用的技術(shù) | Vite | 使用量增長最快的工具,使用量同比增長 25% |
最高留存率的技術(shù) | Vite | 98% 的開發(fā)者愿意再次使用 Vite,第二是 Vitest,為 96% |
最感興趣的技術(shù) | Vitest | 79% 開發(fā)者對 Vitest 感興趣 |
最受喜愛的技術(shù) | Vite | 88.7% 的開發(fā)者喜歡使用 Vite |
新特性
JavaScript 新特性的采用率。
語法特性
特性 | 使用率 | 概述 |
空值合并 | 80% | 提供了一種在變量為 |
動態(tài)導(dǎo)入 | 62% | 允許在運(yùn)行時按需加載JavaScript模塊,實(shí)現(xiàn)代碼拆分和懶加載。 |
私有字段 | 35% | 在類中使用#前綴定義私有字段,只能在類內(nèi)部訪問,增強(qiáng)了封裝性和安全性。 |
邏輯賦值 | 31% | 通過邏輯賦值運(yùn)算符(如 |
Hashbang 語法 | 22% | 允許在JavaScript文件頂部使用 |
error.cause | 16% |
|
字符串特性
特性 | 使用率 | 概述 |
string.replaceAll() | 73% | 替換字符串中所有匹配的子串。 |
string.matchAll() | 44% | 返回所有正則表達(dá)式匹配項(xiàng)的迭代器。 |
Regexp 匹配索引 | 22% | 提供正則表達(dá)式匹配在字符串中的位置索引。 |
數(shù)組特性
特性 | 使用率 | 概述 |
array.findLast() | 30% | 從數(shù)組末尾開始查找,返回滿足提供的測試函數(shù)的第一個元素的值。 |
array.toSorted() | 30% | 對數(shù)組進(jìn)行排序,但不會改變原數(shù)組,返回一個新的排序后的數(shù)組副本。 |
array.toReversed() | 26% | 將數(shù)組的元素順序顛倒,但不會改變原數(shù)組,而是返回一個新的顛倒順序的數(shù)組副本。 |
array.toSpliced() | 16% | 從數(shù)組中刪除或添加元素,但不會改變原數(shù)組,而是返回一個新的經(jīng)過修改的數(shù)組副本。 |
array.with() | 11% | 用于替換數(shù)組中特定索引處的元素,但不會改變原數(shù)組,而是返回一個新的數(shù)組副本。 |
異步特性
特性 | 使用率 | 概述 |
頂層await | 74% | 允許在JavaScript模塊的頂層直接使用await關(guān)鍵字, |
Promise.any() | 43% | 返回一個新的Promise,它在輸入的Promise集合中第一個成功解決的Promise解決時解決,如果所有Promise都失敗,則拋出包含所有失敗原因的 |
Promise.allSettled() | 43% | 等待一個Promise集合中的所有Promise完成(無論成功或失敗),然后返回一個包含每個Promise結(jié)果狀態(tài)的對象數(shù)組。 |
瀏覽器API
特性 | 使用率 | 概述 |
WebSocket | 61% | 在單個TCP連接上進(jìn)行全雙工通信的協(xié)議,允許服務(wù)端和客戶端之間進(jìn)行實(shí)時、雙向的數(shù)據(jù)交換。 |
Progressive Web App (PWA) | 48% | 一種使用Web技術(shù)構(gòu)建的應(yīng)用,提供類似原生應(yīng)用的體驗(yàn),包括離線工作能力、快速加載和推送通知等。 |
Geolocation API | 33% | 允許應(yīng)用根據(jù)用戶的地理位置獲取經(jīng)度和緯度信息,常用于地圖服務(wù)和基于位置的服務(wù)。 |
WebGL | 18% | 用于在不使用插件的情況下,在任何兼容的Web瀏覽器中渲染交互式3D和2D圖形。 |
Web Animations | 18% | 提供一種方式來創(chuàng)建復(fù)雜的動畫效果,允許開發(fā)者控制CSS屬性隨時間變化。 |
WebAssembly (WASM) | 18% | 用于在Web上以接近原生性能運(yùn)行編譯代碼的二進(jìn)制指令格式。 |
Page Visibility API | 16% | 允許應(yīng)用檢測頁面是否處于活動狀態(tài),從而可以暫?;蚧謴?fù)資源密集型操作,以節(jié)省電池和數(shù)據(jù)。 |
WebRTC | 16% | 一種支持在瀏覽器之間進(jìn)行實(shí)時通信的技術(shù),包括音視頻通話和數(shù)據(jù)共享。 |
Web Speech API | 9% | 提供語音識別和文本到語音功能的API,允許Web應(yīng)用程序集成語音輸入和輸出。 |
Broadcast Channel API | 9% | 允許在相同域名下的多個瀏覽器上下文中進(jìn)行異步消息傳遞。 |
Temporal | 6% | 提供一組API,用于簡化日期和時間的操作,包括創(chuàng)建、解析、格式化和操作日期時間值。 |
WebXR Device API | 2% | 允許應(yīng)用訪問虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)設(shè)備,提供沉浸式體驗(yàn),無需依賴特定的平臺或應(yīng)用商店。 |
JS庫
前端框架使用率
React 和 Vue 的使用率都在每年穩(wěn)步增長。
圖片
前端元框架使用率
Next.js 的使用率快速增長,在元框架中遙遙領(lǐng)先,目前其 npm 下載量已超過 Vue,位居下載量第二,僅次于 React。
圖片
測試工具使用率
Jest 仍然是使用最多的前端測試框架,值的一提的是, Vitest 的使用率正在快速增長。
圖片
移動端/桌面端工具使用率
各個工具的使用率差距正在不斷減小,值得一提的是,Tauri 正在異軍突起。
圖片
構(gòu)建工具使用率
Webpack 仍然是使用最多的構(gòu)建工具,同時,Vite 的使用率正在以驚人的速度增長。
圖片
Monorepos 工具使用率
pnpm 作為Monorepos 工具的使用率正在快速增長。
圖片