Deno 2.9 platforma ar Deno Desktop atbalstu darbvirsmas lietojumprogrammu izveidei

Ir izlaista Deno 2.9 platforma, kas paredzēta servera puses un darbvirsmas lietojumprogrammu, kas rakstītas JavaScript un TypeScript valodās, patstāvīgai izpildei, izmantojot V8 dzinēju, kas tiek izmantots Chromium pārlūkprogrammās. Projektu izstrādā Raiens Dāls, Node.js veidotājs, ar mērķi nodrošināt drošāku vidi un novērst konceptuālas kļūdas Node.js arhitektūrā. Lai uzlabotu drošību, V8 ietvars ir rakstīts Rust valodā, un nebloķējošai pieprasījumu apstrādei tiek izmantota Tokio platforma. Projekta kods tiek izplatīts saskaņā ar MIT licenci. Versijas ir sagatavotas Linux, Windows и macOS.

Jaunā versija ir ievērojama ar eksperimentālā Deno Desktop rīkkopa ieviešanu, kas ļauj izveidot pielāgotas GUI lietojumprogrammas, kas veidotas, izmantojot tīmekļa tehnoloģijas, līdzīgi kā Electron platformā. Lietojumprogrammas loģika un saskarne ir definēta JavaScript vai TypeScript valodā, izmantojot standarta tīmekļa ietvarus, un lietojumprogramma tiek izpildīta, izmantojot pārlūkprogrammā balstītu dzinēju. Lietojumprogramma tiek piegādāta kā patstāvīgs izpildāms fails un piedāvā lietotāja saskarni, kas līdzīga klasisko GUI programmu saskarnei.

Deno Desktop piedāvā aizmugursistēmas darbināšanai divos pārlūkprogrammu dzinējos: operētājsistēmas WebView un lietojumprogrammā integrētajā CEF (Chromium Embedded Framework). Uz WebView balstītā aizmugursistēma ļauj samazināt izpildāmo failu izmērus, darbojoties virs sistēmas WebView2 pārlūkprogrammu dzinēja. Windows un WebKit iekšā macOS и Linux, un CEF aizmugursistēma ļauj panākt vienādu saskarnes renderēšanu dažādās platformās Linux, macOS и Windows, bet uz izpildāmo failu lieluma ievērojama palielinājuma rēķina.

Testa lietojumprogrammas izpildfaila lielums tiek lēsts 40 MB apmērā, izmantojot WebView, un 150 MB apmērā, izmantojot CEF. Salīdzinājumam, šis skaitlis ir 100 MB Electron, 61 MB Electrobun un 2–10 MB Tauri (Electron izmanto iegulto CEF, savukārt Electrobun un Tauri izmanto sistēmas WebView). Tiek izstrādāts mehānisms kopīga CEF dzinēja koplietošanai vairākās lietojumprogrammās, kas samazinās izpildfailu lielumu.

Deno Desktop ir pilnībā saderīgs ar Node.js, NPM ekosistēmu un tīmekļa ietvariem, piemēram, Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start un Vite SSR. Ir nodrošināta API, lai piekļūtu vietējām darbvirsmas API. Piemēram, varat kontrolēt logu izmēru, pozīciju un redzamību, izveidot izvēlnes, pievienot pielāgotus apstrādātājus, iestatīt ikonas sistēmas teknei un paneļiem, kā arī parādīt vietējās OS dialoglodziņus. Tīmekļa lietojumprogrammas var veidot kā darbvirsmas programmas, nemainot to kodu, un izmantotos tīmekļa ietvarus var automātiski noteikt un savstarpēji kompilēt vienā sistēmā. Linux x64/arm64, Windows x64 un macOS x64/arm64. Priekš Linux Pakotnes var ģenerēt AppImage, deb un rpm formātos.

Atšķirībā no Electron, Electrobun un Tauri, Deno Desktop neizmanto vairāku procesu izpildes modeli ar ligzdā balstītu IPC. Tā vietā tas izmanto vairāku pavedienu modeli CEF vai uz procesu grupām balstītu modeli WebView, ar saziņu starp aizmugursistēmu un GUI kodu, izmantojot procesa iekšējos kanālus. Tam ir iebūvēta atjauninājumu pārbaude un automātiskas instalēšanas mehānisms, kas, lai taupītu joslas platumu, lejupielādē tikai tos datus, kas ir mainījušies kopš iepriekšējās versijas (izmantojot uz bsdiff balstītus bināros ielāpus), un atbalsta atgriešanos uz iepriekšējo versiju kļūmes gadījumā, palaižot jaunu versiju.

Citas jaunās Deno 2.9 funkcijas ietver:

  • Atbalsts bloķēšanas failu tiešai lasīšanai komandā "deno install", lai vienkāršotu migrāciju uz Deno no npm, pnpm, yarn un Bun.
  • Atbalsts CSS moduļu importēšanai.
  • Saderības ar Node.js 26 platformu ieviešana.
  • Jaunas komandas "deno link", "deno unlink" un "deno list".
  • Atbalsts Web Locks API resursu bloķēšanai.
  • Iespējojiet noklusējuma 24 stundu aizkavi (min-release-age=24h) pirms jaunu atkarību versiju instalēšanas, lai aizsargātu pret atkarību apdraudēšanas uzbrukumiem.
  • Samazināts startēšanas laiks (~2x), samazināts atmiņas patēriņš (~2.2x) un palielināta caurlaidspēja, strādājot ar HTTP (~1.2x).



    Avots: opennet.ru
Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster