Deno 2.9 platforma s podrškom za Deno Desktop za izradu desktop aplikacija

Deno 2.9, platforma dizajnirana za samostalno izvršavanje poslužiteljskih i desktop aplikacija napisanih u JavaScriptu i TypeScriptu pomoću V8 mehanizma, koji se koristi u preglednicima temeljenim na Chromiumu, objavljena je. Projekt razvija Ryan Dahl, tvorac Node.js-a, s ciljem pružanja sigurnijeg okruženja i uklanjanja konceptualnih pogrešaka u Node.js arhitekturi. Radi poboljšanja sigurnosti, V8 okvir je napisan u Rustu, a Tokio platforma se koristi za obradu zahtjeva bez blokiranja. Kod projekta distribuira se pod MIT licencom. Izrade su pripremljene za... Linux, Windows и macOS.

Nova verzija značajna je po implementaciji eksperimentalnog Deno Desktop alata, koji omogućuje izradu prilagođenih GUI aplikacija izgrađenih pomoću web tehnologija, sličnih Electron platformi. Logika i sučelje aplikacije definirani su u JavaScriptu ili TypeScriptu korištenjem standardnih web okvira, a aplikacija se izvršava pomoću preglednika. Aplikacija se isporučuje kao samostalna izvršna datoteka i nudi korisničko sučelje slično onome klasičnih GUI programa.

Deno Desktop nudi pozadinske programe za pokretanje na dva preglednika: WebViewu operativnog sustava i CEF-u (Chromium Embedded Framework) integriranom u aplikaciju. Pozadinski program temeljen na WebViewu omogućuje manje veličine izvršnih datoteka pokretanjem preko preglednika WebView2 sustava. Windows i WebKit u macOS и Linux, a CEF backend omogućuje postizanje istog renderiranja sučelja na svim platformama Linux, macOS и Windows, ali uz cijenu značajnog povećanja veličine izvršnih datoteka.

Procijenjena veličina izvršne datoteke testne aplikacije iznosi 40 MB korištenjem WebViewa i 150 MB korištenjem CEF-a. Za usporedbu, ta brojka iznosi 100 MB za Electron, 61 MB za Electrobun i 2-10 MB za Tauri (Electron koristi ugrađeni CEF, dok Electrobun i Tauri koriste sistemski WebView). Mehanizam za dijeljenje zajedničkog CEF mehanizma među aplikacijama je u razvoju, što će smanjiti veličinu izvršnih datoteka.

Deno Desktop je u potpunosti kompatibilan s Node.js, NPM ekosustavom i web okvirima kao što su Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start i Vite SSR. API je osiguran za pristup izvornim API-jima za radnu površinu. Na primjer, možete kontrolirati veličinu, položaj i vidljivost prozora, stvarati izbornike, prilagati prilagođene rukovatelje, postavljati ikone za sistemsku traku i ploče te prikazivati ​​izvorne dijaloge OS-a. Web aplikacije mogu se izraditi kao desktop programi bez promjene njihovog koda, a korišteni web okviri mogu se automatski otkriti i unakrsno kompajlirati na jednom sustavu za... Linux x64/arm64, Windows x64 i macOS x64/arm64. Za Linux Paketi se mogu generirati u AppImage, deb i rpm formatima.

Za razliku od Electrona, Electrobuna i Taurija, Deno Desktop ne koristi model višeprocesnog izvršavanja s IPC-om temeljenim na utičnicama. Umjesto toga, koristi višenitni model za CEF ili model temeljen na grupi procesa za WebView, s komunikacijom između pozadinskog sučelja i GUI koda putem intraprocesnih kanala. Ima ugrađeni mehanizam za provjeru ažuriranja i automatsku instalaciju koji, radi uštede propusnosti, preuzima samo podatke koji su se promijenili od prethodne verzije (korištenjem binarnih zakrpa temeljenih na bsdiffu) i podržava povratak na prethodnu verziju u slučaju kvara pri pokretanju nove verzije.

Ostale nove značajke u Denou 2.9 uključuju:

  • Podrška za izravno čitanje datoteka zaključavanja u naredbi "deno install" radi pojednostavljenja migracije na Deno s npm-a, pnpm-a, yarn-a i Bun-a.
  • Podrška za uvoz CSS modula.
  • Implementacija kompatibilnosti s Node.js 26 platformom.
  • Nove naredbe "deno link", "deno unlink" i "deno list".
  • Podrška za Web Locks API za postavljanje zaključavanja na resurse.
  • Omogućite zadano 24-satno odgađanje (min-release-age=24h) prije instaliranja novih verzija ovisnosti kako biste zaštitili od napada kompromitiranja ovisnosti.
  • Smanjeno vrijeme pokretanja (~2x), smanjena potrošnja memorije (~2.2x) i povećana propusnost pri radu s HTTP-om (~1.2x).



    Izvor: opennet.ru
Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster