Onye ode akwụkwọ Node.js gosipụtara ikpo okwu Javascript echekwara Deno 1.0

Mgbe afọ abụọ nke mmepe gasịrị ọkọnọ mbụ isi ntọhapụ Ihe ngosi 1.0, ikpo okwu maka ikpochapụ naanị ngwa na JavaScript na TypeScript, nke enwere ike iji mepụta ndị na-ahụ maka ihe na-agba ọsọ na sava ahụ. Ryan Dahl mepụtara ikpo okwu (Ryan Dahl), Onye Okike nke Node.js. Dị ka Node.js, Deno na-eji injin Javascript V8, nke a na-ejikwa na ihe nchọgharị Chromium. N'otu oge ahụ, Deno abụghị ndụdụ nke Node.js, kama ọ bụ ọrụ ọhụrụ emepụtara site na ọkọ. Koodu oru ngo kesara site n'okpuru ikike MIT. Mgbakọ kwadebere maka Linux, Windows na macOS.

A na-ejikọta ọnụ ọgụgụ ụdị dị ịrịba ama na nkwụsi ike nke API na Deno namespace, bụ ndị na-ahụ maka mmekọrịta nke ngwa na OS. Ngwanrọ interface dị ugbu a emezighi ya, zoro ezo na ndabara ma dị naanị mgbe ọ na-agba ọsọ na ọnọdụ "--unstable". Ka a na-emepụta ụdị ọhụrụ, API ndị dị otú ahụ ga-eji nwayọọ nwayọọ na-eguzosi ike. API dị na oghere aha zuru ụwa ọnụ, nke gụnyere ọrụ ndị a na-ahụkarị dị ka setTimeout() na fetch(), dị nso dị ka o kwere mee na API nke ihe nchọgharị weebụ ma mepụta ya dịka ụkpụrụ Weebụ maka ihe nchọgharị siri dị. API ndị Rust nyere, nke a na-eji ozugbo na koodu ikpo okwu, yana interface maka ịmepụta plugins maka oge Deno, enwebeghị ike ịkwado ma nọgide na-etolite.

Ebumnuche ndị bụ isi maka ịmepụta ikpo okwu Javascript ọhụrụ bụ ọchịchọ iwepụ mmejọ echiche, kwetara na Node.js architecture, ma nye ndị ọrụ gburugburu ebe nchekwa karịa. Iji meziwanye nchekwa, e dere injin V8 na Rust, nke na-ezere ọtụtụ adịghị ike na-esite na njikwa ebe nchekwa dị ala, dị ka ịnweta n'efu, nkwụsịtụ pointer null, na buffer overruns. A na-eji ikpo okwu hazie arịrịọ na ọnọdụ anaghị egbochi Tokio, nke e derekwa na nchara. Tokio na-enye gị ohere ịmepụta ngwa arụmọrụ dị elu dabere na nhazi ihe omume, na-akwado ọtụtụ eriri na nhazi arịrịọ netwọk n'ụdị asynchronous.

Main Atụmatụ Deno:

  • Nhazi ndabara dabere na nchekwa. Enweghi ike ịnweta faịlụ, ịkparịta ụka n'Ịntanet, na ịnweta mgbanwe gburugburu ebe obibi site na ndabara ma a ga-agbanyerịrị ya nke ọma. Ngwa na ndabara na-agba ọsọ na gburugburu igbe igbe dịpụrụ adịpụ na enweghị ike ịnweta ikike sistemụ na-enyeghị ikike doro anya;
  • Nkwado arụnyere maka TypeScript gafere Javascript. A na-eji ọkọlọtọ TypeScript compiler iji lelee ụdị ma mepụta Javascript, nke na-eduga n'ịrụ arụmọrụ ma e jiri ya tụnyere Javascript parsing na V8. N'ọdịnihu, anyị na-eme atụmatụ ịkwado mmejuputa anyị nke usoro nyocha ụdị TypeScript, nke ga-eme ka arụmọrụ nhazi TypeScript dịkwuo elu site n'usoro dị ukwuu;
  • Oge ịgba ọsọ na-abịa n'ụdị otu faịlụ nwere ike ime ya ("deno"). Iji Deno mee ngwa zuru ezu budata maka ikpo okwu ya enwere otu faịlụ nwere ike ime, ihe dị ka 20 MB n'ogo, nke na-enweghị ihe ndabere dị na mpụga ma ọ chọghị nrụnye pụrụ iche na sistemụ. Ọzọkwa, deno abụghị ngwa monolithic, kama ọ bụ nchịkọta nke ngwugwu crate na Rust (deno_core, nchara_v8), nke nwere ike iji dị iche iche;
  • Mgbe ịmalite mmemme ahụ, yana ibunye modul, ị nwere ike iji adreesị URL. Dịka ọmụmaatụ, iji mee mmemme welcome.js, ị nwere ike iji iwu "deno https://deno.land/std/examples/welcome.js". A na-ebudata koodu sitere na akụrụngwa mpụga ma chekwaa ya na sistemụ mpaghara, mana anaghị emelite ya na akpaghị aka (imelite chọrọ ka ejiri ọkọlọtọ “--reload” rụọ ngwa ahụ nke ọma);
  • Nhazi nke ọma nke arịrịọ netwọk site na HTTP na ngwa; emebere ikpo okwu maka ịmepụta ngwa netwọk dị elu;
  • Ikike ịmepụta ngwa weebụ zuru ụwa ọnụ nke enwere ike igbu ma na Deno na ihe nchọgharị weebụ mgbe niile;
  • nnweta ọkọlọtọ set nke modul, ojiji nke na-adịghị achọ njikọ na mpụga ndabere. Modul sitere na mkpokọta ọkọlọtọ emeela nyocha ọzọ na nnwale ndakọrịta;
  • Na mgbakwunye na oge ịgba ọsọ, ikpo okwu Deno na-arụkwa ọrụ dị ka onye njikwa ngwugwu ma na-enye gị ohere ịnweta modul site na URL n'ime koodu. Dịka ọmụmaatụ, iji buo modul, ị nwere ike ezipụta na koodu "mbubata * dị ka ndekọ si"https://deno.land/std/log/mod.ts". A na-echekwa faịlụ ndị ebudatara na sava mpụga site na URL. A na-ekpebi ijikọ na ụdị modul site na ịkọwa nọmba ụdị n'ime URL, dịka ọmụmaatụ, "https://unpkg.com/[email protected]/dist/liltest.js";
  • Ihe owuwu a na-agụnye usoro nyocha nke ịdabere na ya (iwu "deno info") na ihe bara uru maka nhazi koodu (deno fmt);
  • Enwere ike ijikọ script ngwa niile n'otu faịlụ Javascript.

Ọdịiche dị na Node.js:

  • Deno anaghị eji njikwa ngwugwu npm
    na ejikọtaghị ya na ebe nchekwa, a na-edozi modul site na URL ma ọ bụ site na faịlụ faịlụ, na modul n'onwe ha nwere ike itinye na ebe nrụọrụ weebụ ọ bụla;
  • Deno anaghị eji "package.json" kọwaa modul;
  • API dị iche, omume asynchronous niile dị na Deno na-eweghachi nkwa;
  • Deno chọrọ nkọwa doro anya nke ikike niile dị mkpa maka faịlụ, netwọkụ na mgbanwe gburugburu;
  • Njehie niile na-enyeghị ndị njikwa na-eduga na nkwụsị nke ngwa ahụ;
  • Deno na-eji usoro modul ECMAScript ma ọ kwadoghị chọrọ();
  • Edere ihe nkesa HTTP arụnyere na Deno na TypeScript ma na-agba ọsọ n'elu oghere TCP nke ala, ebe ihe nkesa HTTP Node.js ka edere na C ma na-enye njikọ maka Javascript. Ndị mmepe Deno lekwasịrị anya n'ịkwalite oyi akwa TCP niile yana inye interface zuru oke. Ihe nkesa HTTP Deno na-enye ntinye dị ala mana na-ekwe nkwa latrị dị ala enwere ike ịkọ. Dịka ọmụmaatụ, na ule ahụ, ngwa dị mfe dabere na ihe nkesa Deno HTTP nwere ike hazie arịrịọ puku iri abụọ na ise kwa nkeji yana oke latency nke 25 milliseconds. Na Node.js, ngwa yiri ya na-ahazi arịrịọ puku iri atọ na anọ kwa nkeji, mana latencies sitere na 1.3 na 34 milliseconds.
  • Deno adabaghị na ngwugwu maka Node.js (NPM), mana a na-emepụta ya iche interlayer maka ndakọrịta na ọba akwụkwọ ọkọlọtọ Node.js, ka ọ na-etolite, ọtụtụ ngwa ndị edere maka Node.js ga-enwe ike ịgba ọsọ na Deno.
  • isi: opennet.ru

Tinye a comment