Qoraaga Node.js wuxuu soo bandhigay aaladda JavaScript ee sugan Deno 1.0

Laba sano oo horumar ah ka dib soo bandhigay siidaynta ugu horeysay ee weyn I sii 1.0, madal loogu talagalay fulinta keli-goynta codsiyada JavaScript iyo TypeScript, kaas oo loo isticmaali karo in lagu abuuro maamulayaal ku shaqeeya server-ka. Madal waxaa soo saaray Ryan Dahl (Ryan Dahl), abuuraha Node.js. Sida Node.js, Deno waxay isticmaashaa mishiinka JavaScript V8, kaas oo sidoo kale lagu isticmaalo daalacashada ku salaysan Chromium. Isla mar ahaantaana, Deno ma aha fargeeto Node.js, laakiin waa mashruuc cusub oo laga sameeyay xoqan. Koodhka mashruuca qaybiyey hoos shatiga MIT. Golayaasha diyaarisay ee Linux, Windows iyo macOS.

Nambarka nooca muhiimka ah wuxuu la xiriiraa xasilinta API-yada ku jira Deno namespace, kuwaas oo mas'uul ka ah isdhexgalka codsiyada OS. Interfaces Software ee ilaa hadda leh aan xasilin, waa la qariyaa si caadi ah oo kaliya ayaa la heli karaa marka lagu shaqeeyo "--unstable" mode. Marka noocyo cusub la sameeyo, API-yada noocan ah waxay si tartiib tartiib ah u noqon doonaan kuwo deggan. API ee goobta magaca caalamiga ah, oo ay ku jiraan hawlaha caadiga ah sida setTimeout() iyo fetch(), waa sida ugu dhow ee suurtogalka ah API ee daalacashada caadiga ah waxaana loo sameeyay si waafaqsan heerarka Shabkada ee daalacashada. API-yada ay bixiso Rust, kuwaas oo si toos ah loogu isticmaalo koodhka goobta, iyo sidoo kale interface-ka horumarinta plugins ee Deno runtime, weli lama xasilin oo sii wadaan horumarinta.

Ujeedooyinka muhiimka ah ee abuurista madal cusub oo JavaScript ah waxay ahaayeen rabitaanka baabi'inta khaladaadka fikradeed, qirtay ee qaab dhismeedka Node.js, oo sii isticmaalayaasha jawi ammaan badan. Si loo hagaajiyo amniga, matoorka V8 wuxuu ku qoran yahay Rust, kaas oo ka fogaanaya dayac badan oo ka mid ah wax-ka-beddelka xusuusta heerka hoose, sida gelitaanka bilaashka ah ka dib, leexinta tilmaame null ah, iyo bakhaarro xad dhaaf ah. Goobta waxa loo isticmaalaa in lagu socodsiiyo codsiyada qaab aan xannibayn Tokyo, oo waliba ku qoran Rust. Tokio waxay kuu ogolaanaysaa inaad abuurto codsiyo waxqabad sare leh oo ku salaysan qaab-dhismeed ay wado dhacdo, taageerta isku xidhka badan iyo ka baaraandegidda codsiyada shabakadaha qaab asynchronous ah.

Main Astaamaha Diid:

  • Qaabeynta caadiga ah ee ku wajahan amniga. Gelitaanka faylka, isku xidhka, iyo gelitaanka doorsoomayaasha deegaanka waa naafo si caadi ah waana in si cad loo hawlgeliyo. Codsiyada sida caadiga ah waxay ku shaqeeyaan jawi go'doonsan sanduuqa-cammuudka mana heli karaan awoodaha nidaamka iyada oo aan la siin oggolaansho cad;
  • Taageerada lagu dhisay TypeScript ee ka baxsan JavaScript. Isku-duwaha caadiga ah ee TypeScript waxaa loo isticmaalaa in lagu hubiyo noocyada iyo soo saarida JavaScript, taas oo u horseedda wax qabad la taaban karo marka la barbar dhigo JavaScript tarjumida V8. Mustaqbalka, waxaan qorsheyneynaa inaan diyaarino hirgelinta noo gaar ah nidaamka hubinta nooca TypeScript, kaas oo hagaajin doona waxqabadka habaynta TypeScript iyadoo loo eegayo siday u kala horreeyaan;
  • Runtime wuxuu ku yimaadaa qaab hal fayl oo la fulin karo oo iskiis u kooban ("deno"). Si aad u socodsiiso codsiyada adoo isticmaalaya Deno waa ku filan tahay faafin Madalkeeda waxaa jira hal fayl oo la fulin karo, cabbirkiisuna yahay 20 MB, kaas oo aan lahayn wax ku tiirsan dibadeed oo aan u baahnayn rakibaad gaar ah nidaamka. Intaa waxaa dheer, deno ma aha codsi monolithic ah, laakiin waa ururinta baakadaha qashinka ee Rust (deno_core, daxalaystay_v8), oo si gaar ah loo isticmaali karo;
  • Markaad bilaabayso barnaamijka, iyo sidoo kale inaad ku shubto cutubyada, waxaad isticmaali kartaa cinwaanka URL. Tusaale ahaan, si aad u socodsiiso barnaamijka soo dhawaynta.js, waxaad isticmaali kartaa amarka "deno https://deno.land/std/examples/welcome.js". Koodhka ka soo baxa ilaha dibadda waa la soo dejiyaa oo lagu kaydiyaa nidaamka maxalliga ah, laakiin waligiis si toos ah looma cusboonaysiiyo (cusbooneysiintu waxay u baahan tahay in si cad loogu socodsiiyo arjiga calanka “--dib u soo dejinta”);
  • Habayn hufan oo codsiyada shabakada ee HTTP gudaha codsiyada; madal waxa loogu talagalay abuurista codsiyada shabakada waxqabadka sare leh;
  • Awoodda lagu abuurayo codsiyada shabakada caalamiga ah ee lagu fulin karo labadaba Deno iyo biraawsarka shabakada caadiga ah;
  • helitaanka set caadiga ah modules, isticmaalka kaas oo aan u baahnayn ku-tiirsanaanta dibadda. Moduleska ururinta caadiga ah ayaa maray xisaab hubin dheeraad ah iyo tijaabin ku habboonaanta;
  • Marka lagu daro runtime, madal Deno waxay sidoo kale u shaqeysaa sidii maareeye xirmo waxayna kuu ogolaaneysaa inaad ku gasho cutubyada URL gudaha koodka. Tusaale ahaan, si aad moduleka ugu shubto, waxaad ku qeexi kartaa koodka "import * sida log ka ah"https://deno.land/std/log/mod.ts". Faylasha laga soo dejiyo server-yada dibadda ee URL waa la kaydiyay. Ku-xidhka noocyada modules-ka waxaa lagu go'aamiyaa in la cayimo nambarada nooca gudaha URL, tusaale ahaan, "https://unpkg.com/[emailka waa la ilaaliyay]/dist/liltest.js";
  • Qaab dhismeedka waxaa ka mid ah nidaamka kormeerka ku tiirsanaanta isku dhafan (amarka "deno info") iyo utility for code formatting (deno fmt);
  • Dhammaan qoraallada codsiga waxaa lagu dari karaa hal fayl oo JavaScript ah.

Farqiga ka imaanaya Node.js:

  • Deno ma isticmaalo maareeyaha xirmada npm
    oo aan ku xidhnayn bakhaarrada, modulesyada waxaa lagu xalliyaa URL ama dariiqa faylka, cutubyada laftooda waxaa lagu dhejin karaa degel kasta;
  • Deno ma isticmaalo "package.json" si loo qeexo cutubyada;
  • Farqiga API, dhammaan ficillada isku midka ah ee Deno waxay soo celiyaan ballan;
  • Deno waxay u baahan tahay qeexid cad oo ah dhammaan rukhsadaha lagama maarmaanka ah ee faylasha, shabakadaha iyo doorsoomayaasha deegaanka;
  • Dhammaan khaladaadka aan la siin kuwa gacanta ku haya waxay horseedaan joojinta codsiga;
  • Deno waxay isticmaashaa nidaamka moduleka ECMAScript mana taageerto baahida();
  • Deno's HTTP server-ka ku dhex dhisan waxa uu ku qoran yahay TypeScript wuxuuna ku shaqeeyaa dusha sare ee godka TCP ee asalka ah, halka serverka Node.js HTTP uu ku qoran yahay C oo uu bixiyaa xidhidhiyaha JavaScript. Horumarinta Deno waxay diiradda saareen hagaajinta dhammaan lakabka godka TCP iyo bixinta interface guud oo dheeraad ah. Deno HTTP Server wuxuu bixiyaa soo saarid hoose laakiin wuxuu dammaanad qaadayaa daahitaanka hoose ee la saadaalin karo. Tusaale ahaan, imtixaanka, codsi fudud oo ku salaysan server-ka Deno HTTP wuxuu awooday inuu socodsiiyo 25 kun codsi ilbiriqsi kasta oo leh ugu badnaan 1.3 millise seconds. Gudaha Node.js, codsi la mid ah ayaa ka shaqeeyay 34 kun oo codsi ilbiriqsikii, laakiin daahitaanka ayaa u dhexeeyay 2 iyo 300 millise seconds.
  • Deno kuma habboona xirmooyinka Node.js (NPM), laakiin si gaar ah ayaa loo soo saaray interlayer si loo waafajiyo maktabadda caadiga ah ee Node.js, sida ay u horumarayso, codsiyo badan oo u qoran Node.js ayaa awood u yeelan doona inay ku shaqeeyaan Deno.
  • Source: opennet.ru

Add a comment