I-Deno 2.9, iqonga eliyilelwe ukwenziwa ngokuzimeleyo kwezicelo ze-server-side kunye ne-desktop ezibhalwe kwiJavaScript kunye neTypeScript kusetyenziswa injini ye-V8, esetyenziswa kwiibrawuza ezisekelwe kwiChromium, ikhutshiwe. Le projekthi iphuhliswa nguRyan Dahl, umdali weNode.js, ngenjongo yokubonelela ngendawo ekhuselekileyo ngakumbi kunye nokususa iimpazamo zengcamango kuyilo lweNode.js. Ukuphucula ukhuseleko, isakhelo se-V8 sibhalwe kwiRust, kwaye iqonga leTokio lisetyenziselwa ukucutshungulwa kwesicelo esingavimbiyo. Ikhowudi yeprojekthi isasazwa phantsi kwelayisenisi ye-MIT. Izakhiwo zilungiselelwe Linux, Windows и macOS.
Le nguqulelo intsha iphawuleka ngokusetyenziswa kwayo kwesixhobo sovavanyo seDeno Desktop, esivumela ukudalwa kwezicelo ze-GUI ezenziwe ngokwezifiso ezakhiwe kusetyenziswa ubuchwepheshe bewebhu, ezifana neqonga le-Electron. I-logic yesicelo kunye ne-interface zichazwa kwiJavaScript okanye kwi-TypeScript kusetyenziswa i-standard web frameworks, kwaye usetyenziso luqhutywa kusetyenziswa injini esekwe kwisikhangeli. Usetyenziso luziswa njengefayile eqhutywayo ezimeleyo kwaye lubonelela nge-user-interface efana neyeenkqubo ze-GUI zakudala.
I-Deno Desktop inikezela ngee-backends zokusebenza kwiinjini ezimbini zebrowser: iWebView yenkqubo yokusebenza kunye neCEF (Chromium Embedded Framework) ezidityaniswe kwi-application. I-backend esekelwe kwiWebView ivumela ubungakanani obuncinci befayile obusebenzisekayo ngokusebenza phezu kwenjini yebrowser yeWebView2 yenkqubo. Windows kunye neWebKit kwi macOS и Linux, kwaye i-CEF backend yenza kube nokwenzeka ukufezekisa umboniso ofanayo we-interface kuwo onke amaqonga Linux, macOS и Windows, kodwa ngexabiso lokonyuka okukhulu kubungakanani beefayile ezisebenzisekayo.
Ubungakanani befayile enokusebenziseka yesicelo sovavanyo buqikelelwa kwi-40 MB kusetyenziswa iWebView, kunye ne-150 MB kusetyenziswa iCEF. Ukuthelekisa, eli nani yi-100 MB ye-Electron, i-61 MB ye-Electrobun, kunye ne-2-10 MB yeTauri (i-Electron isebenzisa i-CEF efakwe ngaphakathi, ngelixa i-Electrobun kunye neTauri zisebenzisa inkqubo yeWebView). Indlela yokwabelana ngenjini ye-CEF eqhelekileyo kuzo zonke izicelo isaphuhliswa, eya kunciphisa ubungakanani beefayile ezinokusebenziseka.
IDeno Desktop ihambelana ngokupheleleyo neNode.js, i-NPM ecosystem, kunye ne-web frameworks ezifana neNext.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start, kunye neVite SSR. I-API ibonelelwe ukufikelela kwi-native desktop APIs. Umzekelo, ungalawula ubungakanani, indawo, kunye nokubonakala kweewindows, wenze iimenyu, uncamathisele abaphangi abakhethekileyo, usete ii-icon ze-system tray kunye neepaneli, kwaye ubonise ii-native OS dialogs. Ii-applications zewebhu zinokwakhiwa njengeenkqubo zedesktop ngaphandle kokutshintsha ikhowudi yazo, kwaye i-web frameworks ezisetyenzisiweyo zinokufunyanwa ngokuzenzekelayo kwaye zihlanganiswe kwinkqubo enye ye Linux x64/ingalo64, Windows x64 kunye macOS x64/ingalo64. Ye Linux Iipakethi zinokwenziwa kwiifomathi ze-AppImage, deb kunye ne-rpm.
Ngokungafaniyo ne-Electron, i-Electrobun, kunye ne-Tauri, i-Deno Desktop ayisebenzisi imodeli yokusebenza kweenkqubo ezininzi ene-IPC esekelwe kwisokhethi. Endaweni yoko, isebenzisa imodeli enemisonto emininzi ye-CEF okanye imodeli esekelwe kwiqela lenkqubo ye-WebView, enonxibelelwano phakathi kwekhowudi ye-backend kunye ne-GUI ngokusebenzisa iindlela ze-intra-process. Inendlela yokujonga uhlaziyo eyakhelwe ngaphakathi kunye nendlela yokufaka ngokuzenzekelayo, ukuze igcine i-bandwidth, ikhuphela kuphela idatha etshintshileyo ukusuka kwinguqulelo yangaphambili (isebenzisa ii-patches ze-binary ezisekelwe kwi-bsdiff) kwaye ixhasa ukubuyela kwinguqulelo yangaphambili xa kukho ukusilela xa kuqaliswa inguqulelo entsha.
Ezinye izinto ezintsha kwiDeno 2.9 ziquka:
- Inkxaso yokufunda ngokuthe ngqo iifayile zokutshixa kumyalelo othi "deno install" ukuze kube lula ukufuduka ukuya kwiDeno ukusuka kwi-npm, pnpm, yarn, kunye neBun.
- Inkxaso yokungenisa iimodyuli zeCSS.
- Ukuphunyezwa kokuhambelana neqonga leNode.js 26.
- Imiyalelo emitsha "ikhonkco le-deno", "i-deno unlink" kunye "noluhlu lwe-deno".
- Inkxaso ye-Web Locks API yokuseta ii-locks kwizixhobo.
- Nika amandla ukulibaziseka okwenziwa rhoqo kweeyure ezingama-24 (ubudala obuncinci bokukhululwa=24h) ngaphambi kokufaka iinguqulelo ezintsha zokuxhomekeka ukukhusela ukuhlaselwa kokuxhomekeka.
- Ixesha lokuqalisa elinciphileyo (~2x), ukusetyenziswa kwememori okunciphileyo (~2.2x), kunye nokwanda komthamo xa usebenza neHTTP (~1.2x).

umthombo: opennet.ru

