JavaScript和TypeScript執行環境Deno 1.39更新,加入了許多重要新功能,不只WebGPU支援回歸,強化圖形、遊戲和機器學習功能,還添加新的Deno測試覆蓋報告器,改進程式碼分析功能,而且在Node.js的相容性支援上也有新進展,能夠簡化Node.js開發人員的轉換工作。

Deno在2021年的時候嘗試引入WebGPU,但之後因為效能問題,在今年稍早時移除,而現在官方已經解決效能問題,因此重新加入WebGPU支援。WebGPU API提供了一個低階、高效能且跨架構的方法,使開發者能夠以JavaScript編寫GPU應用程式。WebGPU被視為WebGL的後繼者,目前規範已經確定,且Chrome也開始支援該API,Firefox和Safari的支援則還在開發中。

GPU在數值的平行運算上,較CPU存在明顯的優勢,這不只可用於加速渲染和遊戲執行,還能在機器學習演算法中高效執行矩陣運算。官方提到,現在Deno中的WebGPU實作,與即將添加到Firefox中的WebGPU實作,具有相同的底層系統,因此可以放心地在該基礎上建置應用。雖然WebGPU規範已經穩定,但是Deno對WebGPU的支援仍處於不穩定階段,因此要在Deno中試用WebGPU,需要加上—unstable-webgpu旗標。

Deno 1.39的測試覆蓋率工具還添加了兩種新的報告器,分別是摘要報告器和HTML報告器。摘要報告器是目前的預設報告器,能夠以簡潔的表格形式呈現特定檔案及整體覆蓋率資料,而HTML報告器則會以HTML格式生成測試覆蓋報告。

Deno語言伺服器效能在新版本中獲得強化,首先打字體驗更為流暢,且更具回應性,官方對因為需要快速打字,所產生的大量請求進行最佳化,確保開發者的IDE有更流暢的編輯體驗,另外,為了解決殘留語言伺服器執行個體的問題,也加入了超時關閉機制,該功能在開發者關閉編輯器後,便會在一定的時間內強制終止語言伺服器程序。

deno compile也有重要更新,特別是對Node.js模組的支援,開發者可以透過使用—unstable-byonm旗標,在Deno專案中直接使用Npm套件,而這可有效橋接了Deno與豐富的Npm生態系。

Deno現在支援更多動態匯入模式,而之所以這也是重要更新,是因為Deno需要在deno compile生成的二進位檔案中,靜態地包含所有在執行時匯入的模組,而現在Deno可以處理更廣泛的動態匯入模式,這代表開發者在執行時能夠靈活地匯入所需的模組,如此不止簡化相依項目管理,還進一步確保所有動態引用的模組在執行時都是可用的。

Deno 1.39中的寬鬆匯入功能,也簡化了TypeScript程式碼搬遷到Deno的工程,開發者只要使用—unstable-sloppy-imports旗標,就可以在匯入語句省略檔案格式名稱。另外,雖然Deno因為安全顧慮不支援Object.prototype.__proto__,但因為許多Npm套件仍然使用該屬性,因此開發者只要使用—unstable-unsafe-proto旗標,就可以允許啟用該屬性。

熱門新聞

Advertisement