Categories
程式開發

2020年度JavaScript開源大獎揭曉,共有6個項目獲獎


自2018年以來,JavaScript開源大獎每年都會選出四個類別最有影響力的開源項目:年度突破獎、最激動人心技術應用獎、年度最有趣項目獎和對社區最有影響力貢獻獎。 2020年獎勵了6個開源項目。

天野和Svelte獲得了年度突破獎。

Deno是一個簡單、安全的現代JavaScript和TypeScript運行時,使用了V8,基於Rust開發。經過兩年的開發,Deno最終在2020年5月發布了1.0版本,並準備投產使用。 Deno支持WebAssembly,使用可編譯到WebAssembly的語言(Rust、Go、C++等)開發的原生庫可在Deno應用程序中運行。

斯維爾特是一個基於組件的UI框架,用於構建交互式Web應用程序,如React或Vue。但與React和Vue不同的是,Svelte在構建時會對應用程序代碼進行編譯,並生成小而高性能的編譯代碼。 Svelte最近添加了TypeScript支持。據wappalyzer.com報導,《紐約時報》、Spotify、chess.com、飛利浦等很多網站都在使用Svelte。

模擬服務人員(MSW)獲得了最激動人心技術應用獎。 MSW是一個針對瀏覽器和Node的API模擬庫。 MSW的工作原理如下:

Mock Service Worker與其他工具的區別在於它的用法。 MSW利用服務人員API(攔截請求進行緩存)將定義的網絡級別的響應發給捕獲的請求。在這種情況下,應用程序不知道底層響應是模擬的。

在開發、測試和調試時都可以啟用MSW的API模擬,無需後端支持。 MSW支持REST和GraphQL API。

姿勢動畫師贏得今年的年度最有趣項目獎。 Pose Animator基於二維矢量圖,根據從姿勢網面網識別出的結果實時呈現曲線動畫。它從計算機圖形學中藉鑑了基於骨架的動畫的思想,並將其應用於向量角色:

2020年度JavaScript開源大獎揭曉,共有6個項目獲獎 1

來源:GitHub項目

PoseNet是一個使用了TensorFlow.js的獨立模型,支持在瀏覽器中進行實時姿勢計算。MediaPipe Facemesh能夠基於486個3D面部進行人臉識別。

對社區最具影響力貢獻獎授予Perfume.js。這個庫是一個Web性能庫,用於度量所有以用戶為中心的性能指標。 Perfume.js利用了最新的性能API(高分辨率時間)來收集現場數據,用以度量真實用戶的體驗。收集的數據包括第一次繪製(FP)、第一次內容繪製(FCP)、最大內容繪製(LCP)、第一次輸入延遲(FID)、累計佈局移位(CLS)、總阻塞時間(TBT )、導航時間、資源時間,等等。收集到的數據被輸入到分析工具用於監控:

2020年度JavaScript開源大獎揭曉,共有6個項目獲獎 2

www.coinbase.com美國、意大利、印尼、尼日利亞站點的FCP。圖片來源為Perfume的GitHub主頁

Perfume還會在測量的數據中加入與設備能力(設備內存、CPU數量和Service Worker的狀態)有關的附加信息。

最後,“生產力促進獎”頒給了雪袋。 Snowpack致力於構建恆定時間(<50毫秒)的Web應用程序。它利用了JavaScript的原生模塊系統(稱為ESM),並在開發期間為未打包的應用程序提供服務。 Snowpack通過插件支持生產打包構建。 Snowpack為avaScript、TypeScript、JSX、CSS和圖像文件提供內置支持,並可通過插件支持Vue和Svelte文件。

Svelte作者Rich Harris最近在Svelte峰會上演示了與Svelte下一個版本相關的工作,其中就使用了Snowpack。 Harris解釋說:

我認為我們很快就會到達一個點,即在開發過程中使用打包器的項目看起來會有點過時。

JavaScript開源大獎是由門控發起的,每年舉辦一次。 GitNation還負責管理React開源大獎Vue開源大獎

原文鏈接

JavaScript開源獎2020區分了六個有影響力的項目