Deno-plattformen 2.9 med stöd för Deno Desktop för att skapa skrivbordsapplikationer

Version 2.9 av Deno-plattformen har slÀppts, som Àr avsedd för isolerad körning av server- och skrivbordsapplikationer skriven i JavaScript och TypeScript med hjÀlp av V8-motorn som anvÀnds i Chromium-baserade webblÀsare. Projektet leds av Ryan Dahl, skaparen av Node.js, med syftet att ge en sÀkrare miljö och ÄtgÀrda konceptuella fel som gjordes i Node.js-architekturen. För att öka sÀkerheten Àr omslutningen runt V8-motorn skriven i Rust, och plattformen Tokio anvÀnds för att hantera icke-blockerande förfrÄgningar. Koden för projektet distribueras under MIT-licensen. Byggs har förberetts för Linux, Windows och macOS.

Den nya versionen kÀnnetecknas av implementeringen av det experimentella verktyget Deno Desktop, som möjliggör skapandet av anvÀndarapplikationer med grafiska grÀnssnitt som byggts med hjÀlp av web-teknologier, pÄ liknande sÀtt som Electron-plattformen. Logik och grÀnssnitt för applikationen definieras i JavaScript eller TypeScript med hjÀlp av vanliga web-ramverk, och arbetet organiseras med hjÀlp av webblÀsarmotorn. Applikationen levereras i form av en fristÄende körbar fil och skiljer sig inte frÄn klassiska program med grafiska grÀnssnitt i interaktionen med anvÀndaren.

I Deno Desktop erbjuds backend-lösningar för att arbeta ovanför tvĂ„ webblĂ€sarmotorer — den som tillhandahĂ„lls av operativsystemet WebView och den som integreras i applikationen CEF (Chromium Embedded Framework). Backend-lösningen baserad pĂ„ WebView möjliggör att minska storleken pĂ„ körbara filer genom att arbeta ovanför systemets webblĂ€sarmotor WebView2 i Windows och WebKit i macOS och Linux, medan CEF-lösningen ger möjlighet att uppnĂ„ en enhetlig rendering av grĂ€nssnittet pĂ„ plattformarna Linux, macOS och Windows, men till priset av en betydande ökning av storleken pĂ„ de körbara filerna.

Storleken pÄ den exekverbara filen för testapplikationen nÀr WebView anvÀnds uppskattas till 40 MB, medan den med CEF Àr 150 MB. För jÀmförelse ligger detta vÀrde för Electron pÄ 100 MB, Electrobun pÄ 61 MB, och Tauri mellan 2-10 MB (i Electron anvÀnds en inbÀddad CEF, medan Electrobun och Tauri anvÀnder systemets WebView). En mekanism för att dela en gemensam CEF-motor mellan olika applikationer Àr under utveckling, vilket kommer att minska storleken pÄ de exekverbara filerna.

Deno Desktop har fullstÀndig kompatibilitet med Node.js, NPM-ekosystemet och webbramverk som Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start och Vite SSR. Det tillhandahÄller ett API för Ätkomst till inbyggda desktop-API:er, vilket gör att programmet kan styra fönstrets storlek, position och synlighet, skapa menyer, koppla in egna event handlers, visa ikoner för systemfÀlt och paneler, samt visa dialoger som Àr native för OS:et. Det Àr möjligt att paketera web-applikationer som desktop-program utan att Àndra deras kod, samt automatiskt identifiera anvÀnda webbramverk och krosskompilera pÄ en och samma plattform för Linux x64/arm64, Windows x64 och macOS x64/arm64. För Linux kan paket genereras i AppImage, deb och rpm format.

Till skillnad frÄn Electron, Electrobun och Tauri, anvÀnder Deno Desktop inte en multiprocessmodell med IPC baserat pÄ sockets, utan en flertrÄdad modell för CEF eller en modell baserat pÄ processgrupper för WebView, med interaktion mellan backend och grafiskt grÀnssnitt genom kanaler inom en och samma process. Det finns en inbyggd mekanism för att kontrollera och automatiskt installera uppdateringar, som i syfte att spara bandbredd endast laddar ner de Àndrade delarna i förhÄllande till den senaste versionen (binarpatchar baserade pÄ bsdiff anvÀnds) och stödjer ÄterstÀllning till den tidigare versionen vid fel vid start av den nya versionen.

Bland andra nyheter i Deno 2.9:

  • Stöd i kommandot 'deno install' för direkt lĂ€sning av lock-filer för att underlĂ€tta migrering till Deno frĂ„n npm, pnpm, yarn och Bun.
  • Stöd för import av CSS-moduler.
  • Implementering av kompatibilitet med Node.js-plattformen 26.
  • Nya kommandon 'deno link', 'deno unlink' och 'deno list'.
  • Stöd för API Web Locks för att sĂ€tta lĂ„s pĂ„ resurser.
  • Aktivering av 24-timmars fördröjning (min-release-age=24h) som standard innan installation av nya versioner av beroenden för att skydda mot attacker genom kompromiss av beroenden.
  • Förkortning av starttiden (~2x), minskad minnesanvĂ€ndning (~2.2x) och ökad bandbredd vid arbete med HTTP (~1.2x).



    KĂ€lla: opennet.ru
Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster