I-Deno 2.9, ipulatifomu eyenzelwe ukusebenza ngokuzimele kwezinhlelo zokusebenza zeseva kanye nedeskithophu ezibhalwe nge-JavaScript kanye ne-TypeScript kusetshenziswa injini ye-V8, esetshenziswa kuziphequluli ezisekelwe ku-Chromium, ikhishwe. Le phrojekthi ithuthukiswa nguRyan Dahl, umdali we-Node.js, ngenhloso yokuhlinzeka ngendawo ephephile kakhulu nokususa amaphutha omqondo ekwakhiweni kwe-Node.js. Ukuze kuthuthukiswe ukuphepha, uhlaka lwe-V8 lubhalwe nge-Rust, kanti ipulatifomu ye-Tokio isetshenziselwa ukucubungula isicelo esingavimbeli. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-MIT. Izakhiwo zilungiselelwe Linux, Windows и macOS.
Inguqulo entsha iphawuleka ngokusebenzisa kwayo i-Deno Desktop toolkit yokuhlola, evumela ukudalwa kwezinhlelo zokusebenza ze-GUI ezenziwe ngokwezifiso ezakhiwe kusetshenziswa ubuchwepheshe bewebhu, ezifana neplatifomu ye-Electron. I-logic yesicelo kanye ne-interface kuchazwa ku-JavaScript noma ku-TypeScript kusetshenziswa izinhlaka zewebhu ezijwayelekile, futhi uhlelo lokusebenza lwenziwa kusetshenziswa injini esekelwe kusiphequluli. Uhlelo lokusebenza lulethwa njengefayela elisebenzisekayo elizimele futhi lunikeza isikhombimsebenzisi esifana nesezinhlelo ze-GUI zakudala.
I-Deno Desktop inikeza ama-backend okusebenza ezinjinini ezimbili zesiphequluli: i-WebView yesistimu yokusebenza kanye ne-CEF (Chromium Embedded Framework) ezihlanganiswe nohlelo lokusebenza. I-backend esekelwe ku-WebView ivumela osayizi abancane bamafayela asebenzisekayo ngokusebenza phezu kwenjini yesiphequluli se-WebView2 yesistimu. Windows kanye ne-WebKit ku macOS и Linux, futhi i-CEF backend yenza kube nokwenzeka ukufeza ukuboniswa okufanayo kwesixhumi esibonakalayo kuzo zonke izinkundla Linux, macOS и Windows, kodwa ngezindleko zokwanda okukhulu kosayizi wamafayela asebenzisekayo.
Usayizi wefayela osebenzisekayo wohlelo lokusebenza lokuhlola ulinganiselwa ku-40 MB kusetshenziswa i-WebView, kanye no-150 MB kusetshenziswa i-CEF. Uma uqhathanisa, lesi sibalo singama-100 MB e-Electron, 61 MB e-Electrobun, kanye no-2-10 MB e-Tauri (i-Electron isebenzisa i-CEF efakwe ngaphakathi, kuyilapho i-Electrobun ne-Tauri zisebenzisa i-WebView yohlelo). Indlela yokwabelana ngenjini evamile ye-CEF kuzo zonke izinhlelo zokusebenza isathuthukiswa, okuzonciphisa usayizi wamafayela asebenzisekayo.
I-Deno Desktop ihambisana ngokugcwele ne-Node.js, i-NPM ecosystem, kanye nezinhlaka zewebhu ezifana ne-Next.js, i-Astro, i-Fresh, i-Remix, i-Nuxt, i-SvelteKit, i-SolidStart, i-TanStack Start, kanye ne-Vite SSR. I-API inikezwa ukuze kufinyelelwe kuma-API edeskithophu endabuko. Isibonelo, ungalawula usayizi, indawo, kanye nokubonakala kwamafasitela, udale amamenyu, unamathisele izibambo ezenziwe ngokwezifiso, usethe izithonjana zethreyi yesistimu namaphaneli, futhi ubonise izingxoxo ze-OS zendabuko. Izinhlelo zokusebenza zewebhu zingakhiwa njengezinhlelo zedeskithophu ngaphandle kokushintsha ikhodi yazo, futhi izinhlaka zewebhu ezisetshenziswayo zingatholakala ngokuzenzakalelayo futhi zihlanganiswe ohlelweni olulodwa lwe Linux x64/ingalo64, Windows x64 kanye macOS x64/ingalo64. Ye Linux Amaphakheji angadalwa ngamafomethi e-AppImage, deb kanye ne-rpm.
Ngokungafani ne-Electron, i-Electrobun, kanye ne-Tauri, i-Deno Desktop ayisebenzisi imodeli yokwenza izinqubo eziningi ene-IPC esekelwe kusokhethi. Esikhundleni salokho, isebenzisa imodeli enemicu eminingi ye-CEF noma imodeli esekelwe eqenjini lenqubo ye-WebView, enokuxhumana phakathi kwekhodi ye-backend kanye ne-GUI ngeziteshi zangaphakathi kwenqubo. Inendlela yokuhlola isibuyekezo eyakhelwe ngaphakathi kanye nendlela yokufaka okuzenzakalelayo, ukuze ilondoloze i-bandwidth, ilanda kuphela idatha eshintshile kusukela enguqulweni yangaphambilini (kusetshenziswa ama-patches amabili asekelwe ku-bsdiff) futhi isekela ukubuyela emuva enguqulweni yangaphambilini uma kwenzeka ukwehluleka lapho kwethulwa inguqulo entsha.
Ezinye izici ezintsha ku-Deno 2.9 zifaka:
- Usekelo lokufunda ngqo amafayela okukhiya kumyalo othi "deno install" ukuze kube lula ukuthuthela ku-Deno kusuka ku-npm, pnpm, yarn, kanye ne-Bun.
- Usekelo lokungenisa amamojula e-CSS.
- Ukusetshenziswa kokuhambisana neplatifomu ye-Node.js 26.
- Imiyalo emisha ethi "deno link", "deno unlink" kanye "nohlu lwe-deno".
- Ukusekelwa kwe-Web Locks API yokusetha ukukhiya ezinsizeni.
- Nika amandla ukubambezeleka okuzenzakalelayo kwamahora angu-24 (ubuncane-ukukhishwa-ubudala=amahora angu-24) ngaphambi kokufaka izinguqulo ezintsha zokuncika ukuze uvikele ekuhlaselweni kokuncika kokuncika.
- Isikhathi sokuqalisa esincishisiwe (~2x), ukusetshenziswa kwememori okuncishisiwe (~2.2x), kanye nokwanda kokusetshenziswa kwedatha uma usebenza ne-HTTP (~1.2x).

Source: opennet.ru

