Iqonga leDeno 2.9 elinenkxaso yeDeno Desktop yokwenza usetyenziso lwedesktop

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
Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster