Platform Deno 2.9 dengan dukungan Deno Desktop untuk membuat aplikasi desktop.

Deno 2.9, sebuah platform yang dirancang untuk eksekusi mandiri aplikasi sisi server dan desktop yang ditulis dalam JavaScript dan TypeScript menggunakan mesin V8, yang digunakan dalam browser berbasis Chromium, telah dirilis. Proyek ini dikembangkan oleh Ryan Dahl, pencipta Node.js, dengan tujuan menyediakan lingkungan yang lebih aman dan menghilangkan kesalahan konseptual dalam arsitektur Node.js. Untuk meningkatkan keamanan, kerangka kerja V8 ditulis dalam Rust, dan platform Tokio digunakan untuk pemrosesan permintaan non-blokir. Kode proyek didistribusikan di bawah lisensi MIT. Build disiapkan untuk Linux, Windows и macOS.

Versi baru ini menonjol karena implementasi toolkit Deno Desktop eksperimentalnya, yang memungkinkan pembuatan aplikasi GUI kustom yang dibangun menggunakan teknologi web, mirip dengan platform Electron. Logika dan antarmuka aplikasi didefinisikan dalam JavaScript atau TypeScript menggunakan kerangka kerja web standar, dan aplikasi dijalankan menggunakan mesin berbasis browser. Aplikasi ini dikirimkan sebagai file yang dapat dieksekusi sendiri dan menawarkan antarmuka pengguna yang mirip dengan program GUI klasik.

Deno Desktop menawarkan backend untuk berjalan di dua mesin browser: WebView sistem operasi dan CEF (Chromium Embedded Framework) yang terintegrasi ke dalam aplikasi. Backend berbasis WebView memungkinkan ukuran file executable yang lebih kecil dengan berjalan di atas mesin browser WebView2 sistem. Windows dan WebKit di macOS и Linux, dan backend CEF memungkinkan tercapainya rendering antarmuka yang sama di berbagai platform. Linux, macOS и WindowsNamun, hal ini dapat mengakibatkan peningkatan ukuran file yang dapat dieksekusi secara signifikan.

Ukuran file yang dapat dieksekusi dari aplikasi pengujian diperkirakan sebesar 40 MB menggunakan WebView, dan 150 MB menggunakan CEF. Sebagai perbandingan, angka ini adalah 100 MB untuk Electron, 61 MB untuk Electrobun, dan 2-10 MB untuk Tauri (Electron menggunakan CEF terintegrasi, sedangkan Electrobun dan Tauri menggunakan WebView sistem). Mekanisme untuk berbagi mesin CEF umum di seluruh aplikasi sedang dalam pengembangan, yang akan mengurangi ukuran file yang dapat dieksekusi.

Deno Desktop sepenuhnya kompatibel dengan Node.js, ekosistem NPM, dan kerangka kerja web seperti Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start, dan Vite SSR. API disediakan untuk mengakses API desktop asli. Misalnya, Anda dapat mengontrol ukuran, posisi, dan visibilitas jendela, membuat menu, melampirkan penangan khusus, mengatur ikon untuk baki sistem dan panel, serta menampilkan dialog OS asli. Aplikasi web dapat dibangun sebagai program desktop tanpa mengubah kodenya, dan kerangka kerja web yang digunakan dapat secara otomatis dideteksi dan dikompilasi silang pada satu sistem. Linux x64/arm64, Windows x64 dan macOS x64/arm64. Untuk Linux Paket dapat dihasilkan dalam format AppImage, deb, dan rpm.

Berbeda dengan Electron, Electrobun, dan Tauri, Deno Desktop tidak menggunakan model eksekusi multi-proses dengan IPC berbasis soket. Sebaliknya, ia menggunakan model multi-threaded untuk CEF atau model berbasis grup proses untuk WebView, dengan komunikasi antara backend dan kode GUI melalui saluran intra-proses. Ia memiliki mekanisme pengecekan pembaruan bawaan dan instalasi otomatis yang, untuk menghemat bandwidth, hanya mengunduh data yang telah berubah sejak versi sebelumnya (menggunakan patch biner berbasis bsdiff) dan mendukung rollback ke versi sebelumnya jika terjadi kegagalan saat meluncurkan versi baru.

Fitur baru lainnya di Deno 2.9 meliputi:

  • Dukungan untuk membaca langsung file lock dalam perintah "deno install" untuk menyederhanakan migrasi ke Deno dari npm, pnpm, yarn, dan Bun.
  • Dukungan untuk mengimpor modul CSS.
  • Implementasi kompatibilitas dengan platform Node.js 26.
  • Perintah baru "deno link", "deno unlink" dan "deno list".
  • Dukungan untuk API Web Locks untuk mengatur penguncian pada sumber daya.
  • Aktifkan penundaan default 24 jam (min-release-age=24h) sebelum menginstal versi baru dependensi untuk melindungi dari serangan kompromi dependensi.
  • Waktu startup berkurang (~2x), konsumsi memori berkurang (~2.2x), dan throughput meningkat saat bekerja dengan HTTP (~1.2x).



    Sumber: opennet.ru
Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster