Platforma Deno 2.9 me mbështetje për Deno Desktop për krijimin e aplikacioneve desktop

Deno 2.9, një platformë e projektuar për ekzekutim të pavarur të aplikacioneve në server dhe desktop të shkruara në JavaScript dhe TypeScript duke përdorur motorin V8, i përdorur në shfletuesit e bazuar në Chromium, është publikuar. Projekti po zhvillohet nga Ryan Dahl, krijuesi i Node.js, me qëllim ofrimin e një mjedisi më të sigurt dhe eliminimin e gabimeve konceptuale në arkitekturën Node.js. Për të përmirësuar sigurinë, kuadri V8 është shkruar në Rust, dhe platforma Tokio përdoret për përpunimin e kërkesave jo-bllokuese. Kodi i projektit shpërndahet sipas licencës MIT. Ndërtimet janë përgatitur për Linux, Windows О macOS.

Versioni i ri është i njohur për zbatimin e paketës eksperimentale të mjeteve Deno Desktop, e cila mundëson krijimin e aplikacioneve GUI të personalizuara të ndërtuara duke përdorur teknologji web, të ngjashme me platformën Electron. Logjika dhe ndërfaqja e aplikacionit përcaktohen në JavaScript ose TypeScript duke përdorur korniza standarde web, dhe aplikacioni ekzekutohet duke përdorur një motor të bazuar në shfletues. Aplikacioni dorëzohet si një skedar ekzekutues i pavarur dhe ofron një ndërfaqe përdoruesi të ngjashme me atë të programeve klasike GUI.

Deno Desktop ofron backend-e për t'u ekzekutuar në dy motorë shfletuesish: WebView i sistemit operativ dhe CEF (Chromium Embedded Framework) i integruar në aplikacion. Backend-i i bazuar në WebView lejon madhësi më të vogla të skedarëve të ekzekutueshëm duke u ekzekutuar mbi motorin e shfletuesit WebView2 të sistemit. Windows dhe WebKit në macOS О Linux, dhe backend-i CEF bën të mundur arritjen e të njëjtit renderim të ndërfaqes në të gjitha platformat. Linux, macOS О Windows, por me koston e një rritjeje të konsiderueshme të madhësisë së skedarëve të ekzekutueshëm.

Madhësia e skedarit ekzekutues të aplikacionit të testimit vlerësohet në 40 MB duke përdorur WebView dhe 150 MB duke përdorur CEF. Për krahasim, kjo shifër është 100 MB për Electron, 61 MB për Electrobun dhe 2-10 MB për Tauri (Electron përdor CEF të integruar, ndërsa Electrobun dhe Tauri përdorin sistemin WebView). Një mekanizëm për ndarjen e një motori të përbashkët CEF në të gjitha aplikacionet është në zhvillim e sipër, i cili do të zvogëlojë madhësinë e skedarëve ekzekutues.

Deno Desktop është plotësisht i pajtueshëm me Node.js, ekosistemin NPM dhe kornizat web si Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start dhe Vite SSR. Ofrohet një API për qasje në API-të e desktopit vendas. Për shembull, ju mund të kontrolloni madhësinë, pozicionin dhe dukshmërinë e dritareve, të krijoni menu, të bashkëngjitni trajtues të personalizuar, të vendosni ikona për tabaka e sistemit dhe panelet, dhe të shfaqni dialogët e sistemit operativ vendas. Aplikacionet web mund të ndërtohen si programe desktopi pa ndryshuar kodin e tyre, dhe kornizat web të përdorura mund të zbulohen automatikisht dhe të kompilohen në mënyrë të kryqëzuar në një sistem të vetëm për... Linux x64/krah 64, Windows x64 dhe macOS x64/krah64. Për Linux Paketat mund të gjenerohen në formatet AppImage, deb dhe rpm.

Ndryshe nga Electron, Electrobun dhe Tauri, Deno Desktop nuk përdor një model ekzekutimi me shumë procese me IPC të bazuar në socket. Në vend të kësaj, ai përdor një model me shumë fije për CEF ose një model të bazuar në grup procesesh për WebView, me komunikim midis backend dhe kodit GUI nëpërmjet kanaleve brenda procesit. Ai ka një mekanizëm të integruar për kontrollin e përditësimeve dhe instalimin automatik që, për të kursyer bandwidth, shkarkon vetëm të dhënat që kanë ndryshuar që nga versioni i mëparshëm (duke përdorur patch-e binare të bazuara në bsdiff) dhe mbështet rikthimin në versionin e mëparshëm në rast të një dështimi gjatë nisjes së një versioni të ri.

Karakteristika të tjera të reja në Deno 2.9 përfshijnë:

  • MbĂ«shtetje pĂ«r leximin direkt tĂ« skedarĂ«ve tĂ« kyçjes nĂ« komandĂ«n "deno install" pĂ«r tĂ« thjeshtuar migrimin nĂ« Deno nga npm, pnpm, yarn dhe Bun.
  • MbĂ«shtetje pĂ«r importimin e moduleve CSS.
  • Implementimi i pĂ«rputhshmĂ«risĂ« me platformĂ«n Node.js 26.
  • Komanda tĂ« reja "deno link", "deno unlink" dhe "deno list".
  • MbĂ«shtetje pĂ«r API-nĂ« e Web Locks pĂ«r vendosjen e kyçjeve nĂ« burime.
  • Aktivizoni njĂ« vonesĂ« tĂ« parazgjedhur prej 24 orĂ«sh (min-release-age=24h) pĂ«rpara instalimit tĂ« versioneve tĂ« reja tĂ« varĂ«sive pĂ«r t'u mbrojtur nga sulmet e kompromentimit tĂ« varĂ«sive.
  • KohĂ« e reduktuar e nisjes (~2x), konsum i reduktuar i memories (~2.2x) dhe rendiment i rritur kur punohet me HTTP (~1.2x).



    Burimi: opennet.ru
Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster