Deno 2.9 平台,支援 Deno Desktop,用於建立桌面應用程式。

Deno 2.9 正式發布,這是一個專為獨立運行使用 V8 引擎(基於 Chromium 核心的瀏覽器所採用)編寫的 JavaScript 和 TypeScript 伺服器端及桌面應用程式而設計的平台。該專案由 Node.js 的創建者 Ryan Dahl 開發,旨在提供更安全的環境並消除 Node.js 架構中的概念性缺陷。為了提高安全性,V8 框架採用 Rust 編寫,並使用 Tokio 平台進行非阻塞請求處理。專案代碼以 MIT 許可證發布。已準備好建置版本。 Linux, Windows и macOS.

新版本最顯著的特點是實現了實驗性的 Deno Desktop 工具包,該工具包支援使用類似 Electron 平台的 Web 技術建立自訂 GUI 應用程式。應用程式邏輯和介面使用標準 Web 框架以 JavaScript 或 TypeScript 編寫,並透過基於瀏覽器的引擎執行。該應用程式以獨立可執行檔的形式交付,並提供類似於傳統 GUI 程式的使用者介面。

Deno Desktop 提供兩種後端,分別運行在作業系統自帶的 WebView 和整合到應用程式中的 CEF(Chromium Embedded Framework)。基於 WebView 的後端運行在系統自帶的 WebView2 瀏覽器引擎之上,因此可以減少執行檔的大小。 Windows 以及 WebKit macOS и Linux而 CEF 後端使得跨平台實現相同的介面渲染成為可能。 Linux, macOS и Windows但代價是可執行檔的大小大幅增加。

使用 WebView 時,測試應用程式的可執行檔大小估計為 40 MB;使用 CEF 時,則為 150 MB。相較之下,Electron 的執行檔大小為 100 MB,Electrobun 為 61 MB,Tauri 為 2-10 MB(Electron 使用嵌入式 CEF,而 Electrobun 和 Tauri 使用系統隨附的 WebView)。目前正在開發一種跨應用程式共享通用 CEF 引擎的機制,該機制將有助於減少可執行檔的大小。

Deno Desktop 與 Node.js、NPM 生態系統以及 Next.js、Astro、Fresh、Remix、Nuxt、SvelteKit、SolidStart、TanStack Start 和 Vite SSR 等 Web 框架完全相容。它提供了一個 API,用於存取原生桌面 API。例如,您可以控制視窗的大小、位置和可見性,建立選單,附加自訂處理程序,為系統托盤和麵板設定圖標,以及顯示原生作業系統對話框。 Web 應用程式無需更改程式碼即可建置為桌面程序,並且所使用的 Web 框架可以自動偵測並在單一系統上進行交叉編譯。 Linux x64/arm64, Windows x64 和 macOS x64/arm64。適用於 Linux 軟體包可以產生為 AppImage、deb 和 rpm 格式。

與 Electron、Electrobun 和 Tauri 不同,Deno Desktop 不使用基於套接字的進程間通訊 (IPC) 的多進程執行模型。相反,它使用 CEF 的多執行緒模型或 WebView 的進程組模型,後端和 GUI 程式碼之間透過進程內通道進行通訊。它內建了更新檢查和自動安裝機制,為了節省頻寬,僅下載自上一版本以來發生更改的資料(使用基於 bsdiff 的二進位修補程式),並且支援在啟動新版本時發生故障時回滾到上一版本。

Deno 2.9 的其他新增功能包括:

  • 支援在「deno install」指令中直接讀取鎖定文件,以簡化從 npm、pnpm、yarn 和 Bun 遷移到 Deno 的過程。
  • 支援導入CSS模組。
  • 實作與Node.js 26平台的兼容性。
  • 新增指令「deno link」、「deno unlink」和「deno list」。
  • 支援使用 Web Locks API 對資源設定鎖定。
  • 啟用預設的 24 小時延遲(min-release-age=24h),然後再安裝新版本的依賴項,以防止依賴項被竄改攻擊。
  • 啟動時間縮短(約 2 倍),記憶體消耗降低(約 2.2 倍),使用 HTTP 時吞吐量提高(約 1.2 倍)。



    來源: opennet.ru
為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster