j**ascript 和 Typescript 執行環境 DENO 1Update 39 新增了許多重要的新功能,不僅支援 WebGPU 回歸、增強圖形、遊戲和機器 習 功能,還新增了新的 Deno 測試覆蓋報告器、改進的程式分析和節點JS 相容性支援也有新的發展,可以簡化 NodeJS 開發人員的轉換工作。
Deno 試圖在 2021 年引入 WebGPU,但由於效能問題在今年早些時候被刪除,現在效能問題已經正式解決,重新引入了 WebGPU 支援。 WebGPU API 提供了一種低端、高效能和跨架構的方法,使開發人員能夠使用 J**Ascript 編寫 GPU 應用程式。 WebGPU 被認為是 WebGL 的繼任者,該規範現已最終確定,Chrome 開始支援 API,對 Firefox 和 Safari 的支援仍在開發中。
GPU 在數值平行計算方面比 CPU 具有明顯的優勢,不僅在加速渲染和遊戲執行方面,而且在機器 習 演算法中具有高效的矩陣運算。 據官方統計,Deno 中的 WebGPU 例項現在與將新增到 Firefox 的 WebGPU 例項具有相同的底層系統,因此您可以放心地在其上構建應用程式。 雖然 webGPU 規範已經穩定下來,但 Deno 對 WebGPU 的支援仍處於不穩定階段,因此要在 Deno 中試用 WebGPU,需要新增 -unstable-webgpu 標誌。
deno 1.39 的 Test Coverage 工具還新增了兩個新的報告器,即 Summary Reporter 和 HTML Reporter Summary Reporter 目前是預設的 Reporter,它以簡潔的形式顯示特定於檔案和整體覆蓋率的資料,而 HTML Reporter 則以 HTML 格式生成測試覆蓋率報告。
DENO 語言伺服器的效能在新版本中得到了加強,首先是打字體驗更流暢,響應速度更快,官方優化了因為需要快速打字而產生的大量請求,保證開發者的 IDE 有更流暢的編輯體驗,此外,為了解決殘差語言伺服器執行例項的問題, 還增加了超時關閉機制,在開發者關閉編輯器後的一定時間內,會強制語言伺服器程式終止。
Deno Compile 也有重要的更新,尤其是 Node在 JS 模組的支援下,開發者可以通過使用 -unstable-byonm 標誌直接在他們的 Deno 專案中使用 npm 元件,這有效地將 Deno 與豐富的 npm 生態系統聯絡起來。
Deno 現在支援更多的動態匯入模式,這是乙個重要的更新,因為 Deno 需要將執行時匯入的所有模組靜態地包含在 Deno Compile 生成的二進位檔案中,而現在 Deno 可以處理更廣泛的動態匯入模式,這意味著開發人員可以靈活地在執行時匯入所需的模組, 這不僅簡化了依賴專案管理,而且進一步確保了所有動態引用的模組在執行時都可用。
deno 1.39 中的 loose import 函式也簡化了 Typescript 程式向 Deno 的遷移,允許開發者使用 —unstable-sloppy-imports 標誌在 import 語句中省略檔案格式名稱。 此外,儘管出於安全考慮,deno 不支援物件prototype.proto,但由於許多 npm 元件仍然使用此屬性,開發人員只需使用 -unstable-unsafe-proto 標誌即可允許啟用它。