ĂshtĂ« publikuar versioni i platformĂ«s Deno 2.9, e cila Ă«shtĂ« e destinuar pĂ«r ekzekutimin e ndarĂ« tĂ« aplikacioneve server dhe desktop nĂ« gjuhĂ«t JavaScript dhe TypeScript duke pĂ«rdorur motorin V8, i aplikuar nĂ« shfletuesit qĂ« bazohen nĂ« Chromium. Projekti zhvillohet nga Ryan Dahl, krijuesi i Node.js, me qĂ«llim ofrimin e njĂ« ambienti mĂ« tĂ« sigurt dhe eliminimin e gabimeve konceptuale tĂ« bĂ«rĂ« nĂ« arkitekturĂ«n e Node.js. PĂ«r tĂ« rritur sigurinĂ«, mbĂ«shtjellja pĂ«r motorin V8 Ă«shtĂ« shkruar nĂ« gjuhĂ«n Rust, dhe pĂ«r pĂ«rpunimin e kĂ«rkesave nĂ« mĂ«nyrĂ« jo bllokuese, aplikohet platforma Tokio. Kodi i projektit shpĂ«rndahet nĂ«n licencĂ«n MIT. NdĂ«rtimet janĂ« pĂ«rgatitur pĂ«r Linux, Windows dhe macOS.
Versioni e re e veçan e cila përmban implementimin e një mjeti eksperimental, Deno Desktop, i cili lejon krijimin e aplikacioneve të personalizuara me ndërfaqe grafike, të ndërtuara duke përdorur teknologjitë web, në mënyrë të ngjashme me platformën Electron. Logjika dhe ndërfaqja e aplikacionit përcaktohen në gjuhën JavaScript ose TypeScript duke përdorur kornizat tipike web, ndërsa funksionimi organizohet duke përdorur motorin e shfletuesit. Aplikacioni ofrohet në formën e një skedari ekzekutiv të pavarur dhe në interaksionin me përdoruesin nuk dallon nga programet klasike me ndërfaqe grafike.
Deno Desktop ofron b backend për të punuar mbi dy motorë shfletuesish - WebView, i ofruar nga sistemi operativ, dhe CEF (Chromium Embedded Framework) i integruar në aplikacion. Backend-i mbi WebView lejon reduktimin e madhësisë së skedeve të ekzekutueshme përmes funksionimit mbi motorin shfletues sistematik WebView2 në Windows dhe WebKit në macOS dhe Linux, ndërsa backend-i CEF ofron mundësinë për të arritur të njëjtin paraqitje të ndërfaqes në platformat Linux, macOS dhe Windows, por me një rritje të konsiderueshme të madhësisë së skedeve të ekzekutueshme.
MadhĂ«sia e skedarit ekzekutiv tĂ« aplikacionit testues kur pĂ«rdoret WebView vlerĂ«sohet nĂ« 40 MB, ndĂ«rsa kur pĂ«rdoret CEF â 150 MB. PĂ«r krahasim, pĂ«r Electron ky tregues Ă«shtĂ« 100 MB, pĂ«r Electrobun â 61 MB, dhe pĂ«r Tauri â 2-10 MB (nĂ« Electron pĂ«rdoret CEF i integruar nĂ« aplikacion, ndĂ«rsa nĂ« Electrobun dhe Tauri WebView sistemor). NjĂ« mekanizĂ«m pĂ«r ndarjen e motorit tĂ« zakonshĂ«m CEF nĂ« aplikacione tĂ« ndryshme Ă«shtĂ« duke u zhvilluar, i cili do tĂ« mundĂ«sojĂ« uljen e madhĂ«sisĂ« sĂ« skedarĂ«ve ekzekutivĂ«.
Deno Desktop ofron plotesisht kompatibilitet me Node.js, ekosistemin NPM dhe framework-et web si Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start dhe Vite SSR. Ofron njĂ« API pĂ«r aksesin nĂ« API-tĂ« native desktop, siç janĂ« menaxhimi i madhĂ«sisĂ«, pozicionit dhe dukshmĂ«risĂ« sĂ« dritares, krijimi i menive, ngjitja e trajtuesve tĂ« tuaj, vendosja e ikonave pĂ«r sistemin e panelit dhe dialogĂ«t vendorĂ« pĂ«r OS. ĂshtĂ« e mundur tĂ« ndĂ«rtohen aplikacione web si programe desktop pa ndryshuar kodin e tyre, si dhe pĂ«rcaktimi automatik i framework-eve web tĂ« pĂ«rdorura dhe ndĂ«rkompajlimi nĂ« njĂ« sistem pĂ«r Linux x64/arm64, Windows x64 dhe macOS x64/arm64. PĂ«r Linux mund tĂ« gjenerohen paketa nĂ« formatet AppImage, deb dhe rpm.
Në contrast me Electron, Electrobun dhe Tauri në Deno Desktop përdoret një model i thjeshtë shumëthirrës për CEF ose një model të bazuar në grupe procesesh për WebView me ndërveprimin midis prapavijës dhe kodit të ndërfaqes grafike përmes kanaleve brenda një procesi. Ka një mekanizëm të integruar për të kontrolluar dhe instaluar automatikisht azhurnimet, duke ngarkuar vetëm të dhënat që janë ndryshuar në raport me versionin e kaluar (përdoren patches binarë të bazuar në bsdiff) dhe mbështet rikthimin në versionin e mëparshëm në rast të dështimit gjatë nisjes së versionit të ri.
Ndër risitë e tjera në Deno 2.9:
- Mbështetje në komandën 'deno install' për leximin e drejtpërdrejtë të skedarëve lock për të thjeshtuar migrimin në Deno nga npm, pnpm, yarn dhe Bun.
- Mbështetje për importimin e moduleve CSS.
- Implementimi i kompatibilitetit me platformën Node.js 26.
- Komandat e reja 'deno link', 'deno unlink' dhe 'deno list'.
- Mbështetje për API Web Locks për vendosjen e bllokimeve mbi burime.
- Aktivizimi në mënyrë të paracaktuar i një vonese 24-orëshe (min-release-age=24h) para instalimit të versioneve të reja të varësive për të mbrojtur nga sulmet përmes kompromitimit të varësive.
- Reduktimi i kohës së nisjes (~2x), ulja e konsumit të memories (~2.2x) dhe rritja e kapacitetit të përçueshmërisë gjatë punës me HTTP (~1.2x).

Burimi: opennet.ru

