„Deno 2.9“ platforma su „Deno Desktop“ palaikymu darbalaukio programoms kurti

Išleista „Deno 2.9“ – platforma, skirta savarankiškam serverio ir darbalaukio programų, parašytų „JavaScript“ ir „TypeScript“ kalbomis, vykdymui naudojant V8 variklį, naudojamą „Chromium“ pagrindu sukurtose naršyklėse. Projektą kuria Ryanas Dahlas, „Node.js“ kūrėjas, siekdamas užtikrinti saugesnę aplinką ir pašalinti konceptualias klaidas „Node.js“ architektūroje. Siekiant pagerinti saugumą, V8 sistema parašyta „Rust“ kalba, o neblokuojančiam užklausų apdorojimui naudojama „Tokio“ platforma. Projekto kodas platinamas pagal MIT licenciją. Versijos yra paruoštos... Linux, Windows и macOS.

Naujoji versija pasižymi eksperimentinio „Deno Desktop“ įrankių rinkinio įdiegimu, kuris leidžia kurti pasirinktines grafinės vartotojo sąsajos programas, naudojant žiniatinklio technologijas, panašiai kaip „Electron“ platformoje. Programos logika ir sąsaja apibrėžtos „JavaScript“ arba „TypeScript“ kalba, naudojant standartines žiniatinklio sistemas, o programa vykdoma naudojant naršyklės variklį. Programa pateikiama kaip savarankiškas vykdomasis failas ir siūlo vartotojo sąsają, panašią į klasikinių grafinės vartotojo sąsajos programų.

„Deno Desktop“ siūlo posistemius, skirtus veikti dviejuose naršyklės varikliuose: operacinės sistemos „WebView“ ir į programą integruotame CEF („Chromium Embedded Framework“). „WebView“ pagrindu sukurta posistemė leidžia sumažinti vykdomųjų failų dydžius, nes veikia sistemos „WebView2“ naršyklės variklio pagrindu. Windows ir „WebKit“ macOS и Linux, o CEF posistemė leidžia pasiekti tą patį sąsajos atvaizdavimą skirtingose ​​platformose Linux, macOS и Windows, bet tai ženkliai padidina vykdomųjų failų dydį.

Bandomosios programos vykdomojo failo dydis naudojant „WebView“ yra maždaug 40 MB, o naudojant CEF – 150 MB. Palyginimui, „Electron“ programoje šis skaičius yra 100 MB, „Electrobun“ programoje – 61 MB, o „Tauri“ programoje – 2–10 MB („Electron“ naudoja įterptąjį CEF, o „Electrobun“ ir „Tauri“ – sisteminį „WebView“). Kuriamas mechanizmas, skirtas bendram CEF varikliui bendrinti įvairiose programose, kuris sumažins vykdomųjų failų dydį.

„Deno Desktop“ yra visiškai suderinamas su „Node.js“, NPM ekosistema ir žiniatinklio sistemomis, tokiomis kaip „Next.js“, „Astro“, „Fresh“, „Remix“, „Nuxt“, „SvelteKit“, „SolidStart“, „TanStack Start“ ir „Vite SSR“. Pateikiama API, skirta pasiekti vietines darbalaukio API. Pavyzdžiui, galite valdyti langų dydį, padėtį ir matomumą, kurti meniu, pridėti pasirinktinius tvarkytuvus, nustatyti sistemos dėklo ir skydelių piktogramas bei rodyti vietinius OS dialogus. Žiniatinklio programas galima kurti kaip darbalaukio programas nekeičiant jų kodo, o naudojamas žiniatinklio sistemas galima automatiškai aptikti ir kryžmiškai kompiliuoti vienoje sistemoje. Linux x64/arm64, Windows x64 ir macOS x64/arm64. Skirta Linux Paketus galima generuoti „AppImage“, „deb“ ir „rpm“ formatais.

Skirtingai nei „Electron“, „Electrobun“ ir „Tauri“, „Deno Desktop“ nenaudoja kelių procesų vykdymo modelio su lizdais pagrįstu IPC. Vietoj to, jis naudoja kelių gijų modelį CEF arba procesų grupių modelį WebView, o komunikacija tarp serverio ir GUI kodo vyksta per vidinius proceso kanalus. Jis turi integruotą atnaujinimų tikrinimo ir automatinio diegimo mechanizmą, kuris, siekdamas taupyti pralaidumą, atsisiunčia tik tuos duomenis, kurie pasikeitė nuo ankstesnės versijos (naudodamas bsdiff pagrindu sukurtus dvejetainius pataisymus) ir palaiko grįžimą į ankstesnę versiją, jei paleidžiant naują versiją įvyksta klaida.

Kitos naujos „Deno 2.9“ funkcijos:

  • Palaikymas tiesioginiam užrakinimo failų skaitymui komandoje „deno install“, siekiant supaprastinti perkėlimą į „Deno“ iš npm, pnpm, yarn ir Bun.
  • CSS modulių importavimo palaikymas.
  • Suderinamumo su „Node.js 26“ platforma įgyvendinimas.
  • Naujos komandos „deno link“, „deno unlink“ ir „deno list“.
  • „Web Locks“ API palaikymas išteklių užraktams nustatyti.
  • Įjunkite numatytąjį 24 valandų delsą (min-release-age=24h) prieš diegiant naujas priklausomybių versijas, kad apsaugotumėte nuo priklausomybių pažeidimo atakų.
  • Sumažintas paleidimo laikas (~2 kartus), sumažintas atminties suvartojimas (~2.2 karto) ir padidėjęs pralaidumas dirbant su HTTP (~1.2 karto).



    Šaltinis: opennet.ru
Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster