Emva kweminyaka emibini yophuhliso
Inombolo yenguqulelo ebalulekileyo idityaniswa nokuzinziswa kwee-APIs kwisithuba samagama seDeno, ezinoxanduva lokusebenzisana kwezicelo ne-OS. Ujongano lwesoftware olunayo ukuza kuthi ga ngoku
Ezona njongo ziphambili zokudala iqonga elitsha leJavaScript yayingumnqweno wokuphelisa iimpazamo zengqikelelo,
Siseko
- Uqwalaselo olungagqibekanga olusekwe kukhuseleko. Ufikelelo lwefayile, uthungelwano, kunye nofikelelo kwizinto eziguquguqukayo zokusingqongileyo zivaliwe ngokungagqibekanga kwaye kufuneka zenziwe zisebenze ngokuthe gca. Usetyenziso ngokungagqibekanga luqhutywa kwindawo ekwanti yebhokisi yesanti kwaye ayikwazi ukufikelela kubuchule benkqubo ngaphandle kokunika iimvume ezicacileyo;
- Inkxaso eyakhelwe-ngaphakathi ye-TypeScript ngaphaya kweJavaScript. Umqokeleli we-TypeScript oqhelekileyo usetyenziselwa ukujonga iindidi kunye nokuvelisa iJavaScript, ekhokelela ekusebenzeni kakuhle xa kuthelekiswa nokwahlulahlula kweJavaScript kwi-V8. Kwixesha elizayo, siceba ukulungiselela ukuphunyezwa kwethu uhlobo lwe-TypeScript yokujonga inkqubo, eya kuphucula ukusebenza kwe-TypeScript yokucubungula ngomyalelo wobukhulu;
- Ixesha lokuqhuba liza ngokohlobo lwefayile enye ezimeleyo ephunyezwayo (βdenoβ). Ukusebenzisa usetyenziso usebenzisa iDeno kwanele
khuphela kwiqonga layo kukho ifayile enye ephunyeziweyo, malunga ne-20 MB ngobukhulu, engenazo ukuxhomekeka kwangaphandle kwaye ayifuni naluphi na ukufakelwa okukhethekileyo kwinkqubo. Ngapha koko, ideno ayisosicelo se-monolithic, kodwa yingqokelela yeepakethe zekhreyithi eRust (ideno_core ,umhlwa_v8 ), enokusetyenziswa ngokwahlukileyo; - Xa uqalisa inkqubo, kunye nokulayisha iimodyuli, ungasebenzisa idilesi ye-URL. Umzekelo, ukuqhuba inkqubo ye-welcome.js, ungasebenzisa umyalelo othi "deno https://deno.land/std/examples/welcome.js". Ikhowudi esuka kwimithombo yangaphandle ikhutshelwa kwaye igcinwe kwinkqubo yendawo, kodwa ayihlaziywa ngokuzenzekelayo (uhlaziyo lufuna ukuqhuba ngokucacileyo usetyenziso nge "--reload" iflegi);
- Ukusetyenzwa ngokufanelekileyo kwezicelo zenethiwekhi nge-HTTP kwizicelo; iqonga lenzelwe ukudala usetyenziso oluphezulu lwenethiwekhi;
- Ukukwazi ukwenza izicelo zewebhu jikelele ezinokuthi zenziwe zombini kwiDeno kunye nakwi-browser yewebhu eqhelekileyo;
- Ukufumaneka
iseti esemgangathweni yeemodyuli , ukusetyenziswa okungafuneki ukubophelela kukuxhomekeka kwangaphandle. Iimodyuli ezisuka kwingqokelela esemgangathweni ziye zenziwa uphicotho olongezelelweyo kunye novavanyo lokuhambelana; - Ukongeza kwixesha lokusebenza, iqonga leDeno likwasebenza njengomphathi wephakheji kwaye ikuvumela ukuba ufikelele kwiimodyuli nge-URL ngaphakathi kwekhowudi. Umzekelo, ukulayisha imodyuli, ungacacisa kwikhowudi "import * njengelogi ukusuka "https://deno.land/std/log/mod.ts". Iifayile ezikhutshelweyo kwiiseva zangaphandle nge-URL zigcinwe kwi-cache. Ukubophelela kwiinguqulelo zemodyuli kumiselwa ngokuchaza amanani oguqulelo ngaphakathi kwe-URL, umzekelo, βhttps://unpkg.com/[imeyile ikhuselwe]/dist/liltest.js";
- Ulwakhiwo lubandakanya inkqubo yokuhlola ukuxhomekeka okudibeneyo (umyalelo "we-deno info") kunye nesixhobo sokufomatha ikhowudi (deno fmt);
- Zonke izikripthi zesicelo zinokudityaniswa zibe yifayile yeJavaScript enye.
Umahluko kwi-Node.js:
- I-Deno ayisebenzisi umphathi wephakheji ye-npm
kwaye ayibotshelelwanga kwii-repositories, iimodyuli zibhekiswe nge-URL okanye ngendlela yefayile, kwaye iimodyuli ngokwazo zinokubekwa kuyo nayiphi na iwebhusayithi; - IDeno ayisebenzisi "package.json" ukuchaza iimodyuli;
- Umahluko we-API, zonke iintshukumo ezingahambelaniyo kwiDeno zibuyisela isithembiso;
- I-Deno ifuna inkcazo ecacileyo yazo zonke iimvume eziyimfuneko zeefayile, inethiwekhi kunye noguquko lokusingqongileyo;
- Zonke iimpazamo ezingabonelelwanga ngabaphathi zikhokelela ekuphelisweni kwesicelo;
- IDeno isebenzisa inkqubo yemodyuli yeECMAScript kwaye ayixhasi ifuna();
- Iseva ye-HTTP eyakhelwe-ngaphakathi ye-Deno ibhalwe kwi-TypeScript kwaye isebenza phezu kweesokethi ze-TCP zomthonyama, ngelixa i-Node.js iseva ye-HTTP ibhalwe kwi-C kwaye ibonelela ngezibophelelo zeJavaScript. Abaphuhlisi beDeno bagxile ekwandiseni yonke i-TCP socket layer kunye nokubonelela ngojongano olubanzi ngakumbi. Iseva ye-Deno ye-HTTP ibonelela nge-throughput ephantsi kodwa iqinisekisa ukubambezeleka okusezantsi okuqikelelweyo. Ngokomzekelo, kuvavanyo, isicelo esilula esisekelwe kwi-Deno HTTP iseva yakwazi ukucubungula izicelo eziliwaka le-25 ngesibini kunye ne-latency ephezulu ye-1.3 milliseconds. Kwi-Node.js, isicelo esifanayo siqhube izicelo ze-34 lamawaka ngesibini, kodwa i-latencies isuka kwi-2 kunye ne-300 milliseconds.
- I-Deno ayihambelani neepakethe ze-Node.js (NPM), kodwa iphuhliswa ngokwahlukeneyo
interlayer ngokuhambelana nelayibrari esemgangathweni yeNode.js, njengoko iphuhlisa, izicelo ezininzi ezibhalelwe iNode.js ziya kukwazi ukusebenza kwiDeno.
umthombo: opennet.ru