Deno 2.9, platform anu dirancang pikeun palaksanaan mandiri aplikasi sisi server sareng desktop anu ditulis dina JavaScript sareng TypeScript nganggo mesin V8, anu dianggo dina panyungsi berbasis Chromium, parantos dirilis. Proyék ieu dikembangkeun ku Ryan Dahl, panyipta Node.js, kalayan tujuan pikeun nyayogikeun lingkungan anu langkung aman sareng ngaleungitkeun kasalahan konséptual dina arsitéktur Node.js. Pikeun ningkatkeun kaamanan, kerangka V8 ditulis dina Rust, sareng platform Tokio dianggo pikeun pamrosésan pamundut anu henteu ngahalangan. Kode proyék disebarkeun dina lisénsi MIT. Wangunan disiapkeun pikeun Linux, Windows и macOS.
Versi anyar ieu kasohor ku implementasina tina toolkit Deno Desktop ékspériméntal, anu ngamungkinkeun nyiptakeun aplikasi GUI khusus anu diwangun nganggo téknologi wéb, sami sareng platform Electron. Logika sareng antarmuka aplikasi dihartikeun dina JavaScript atanapi TypeScript nganggo kerangka wéb standar, sareng aplikasi dijalankeun nganggo mesin berbasis browser. Aplikasi ieu dikirimkeun salaku file anu tiasa dieksekusi mandiri sareng nawiskeun antarmuka pangguna anu sami sareng program GUI klasik.
Deno Desktop nawiskeun backend pikeun dijalankeun dina dua mesin browser: WebView sistem operasi sareng CEF (Chromium Embedded Framework) anu diintegrasikeun kana aplikasi. Backend berbasis WebView ngamungkinkeun ukuran file anu tiasa dieksekusi anu langkung alit ku cara dijalankeun di luhur mesin browser WebView2 sistem. Windows sareng WebKit dina macOS и Linux, sareng backend CEF ngamungkinkeun pikeun ngahontal rendering antarmuka anu sami di sakumna platform Linux, macOS и Windows, tapi kalayan biaya paningkatan anu signifikan dina ukuran file anu tiasa dieksekusi.
Ukuran file anu tiasa dieksekusi tina aplikasi uji diperkirakeun 40 MB nganggo WebView, sareng 150 MB nganggo CEF. Pikeun babandingan, angka ieu nyaéta 100 MB pikeun Electron, 61 MB pikeun Electrobun, sareng 2-10 MB pikeun Tauri (Electron nganggo CEF anu dipasang, sedengkeun Electrobun sareng Tauri nganggo sistem WebView). Mékanisme pikeun ngabagi mesin CEF umum di sakumna aplikasi nuju dikembangkeun, anu bakal ngirangan ukuran file anu tiasa dieksekusi.
Deno Desktop sapinuhna cocog sareng Node.js, ékosistem NPM, sareng kerangka kerja wéb sapertos Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start, sareng Vite SSR. API disayogikeun pikeun ngaksés API desktop asli. Salaku conto, anjeun tiasa ngontrol ukuran, posisi, sareng pisibilitas jandéla, nyiptakeun ménu, masang pawang khusus, nyetel ikon pikeun baki sistem sareng panel, sareng nampilkeun dialog OS asli. Aplikasi wéb tiasa diwangun salaku program desktop tanpa ngarobih kode na, sareng kerangka kerja wéb anu dianggo tiasa dideteksi sacara otomatis sareng dikompilasi silang dina hiji sistem pikeun. Linux x64/panangan64, Windows x64 sareng macOS x64/arm64. Kanggo Linux Paket tiasa dihasilkeun dina format AppImage, deb sareng rpm.
Beda sareng Electron, Electrobun, sareng Tauri, Deno Desktop henteu nganggo modél palaksanaan multi-prosés kalayan IPC berbasis soket. Sabalikna, éta nganggo modél multi-threaded pikeun CEF atanapi modél berbasis grup prosés pikeun WebView, kalayan komunikasi antara backend sareng kode GUI ngalangkungan saluran intra-prosés. Éta gaduh cék apdet bawaan sareng mékanisme pamasangan otomatis anu, pikeun ngahémat bandwidth, ngan ukur ngaunduh data anu parantos robih ti saprak vérsi sateuacanna (nganggo patch binér berbasis bsdiff) sareng ngadukung rollback ka vérsi sateuacanna upami aya kagagalan nalika ngaluncurkeun vérsi énggal.
Fitur-fitur anyar lianna dina Deno 2.9 nyaéta:
- Dukungan pikeun maca langsung file konci dina paréntah "deno install" pikeun ngagampangkeun migrasi ka Deno tina npm, pnpm, yarn, sareng Bun.
- Dukungan pikeun ngimpor modul CSS.
- Implementasi kompatibilitas sareng platform Node.js 26.
- Paréntah anyar "deno link", "deno unlink" sareng "deno list".
- Pangrojong pikeun Web Locks API pikeun nyetel konci dina sumber daya.
- Aktipkeun reureuh standar 24 jam (min-release-age=24h) sateuacan masang vérsi dependensi anyar pikeun ngajagi tina serangan kompromi dependensi.
- Ngurangan waktu ngamimitian (~2x), ngurangan konsumsi mémori (~2.2x), sareng ningkatkeun throughput nalika damel sareng HTTP (~1.2x).

sumber: opennet.ru

