Chuir údar Node.js an t-ardán slán JavaScript Deno 1.0 i láthair

Tar éis dhá bhliain d'fhorbairt curtha i láthair chéad mhórscaoileadh Ná 1.0, ardán chun feidhmchláir i JavaScript agus TypeScript a chur i gcrích go neamhspleách, ar féidir iad a úsáid chun láimhseálaithe a ritheann ar an bhfreastalaí a chruthú. Is é Ryan Dahl (Ryan Dahl), cruthaitheoir Node.js. Cosúil le Node.js, úsáideann Deno inneall JavaScript V8, a úsáidtear freisin i mbrabhsálaithe Cróimiam-bhunaithe. Ag an am céanna, ní forc de Node.js é Deno, ach is tionscadal nua é a cruthaíodh ón tús. Cóid tionscadail dáilte ag faoi ​​cheadúnas MIT. Comhthionóil ullmhaithe le haghaidh Linux, Windows agus macOS.

Tá baint ag an uimhir leagain shuntasach le cobhsú na APInna in ainmspás Deno, atá freagrach as idirghníomhú feidhmchlár leis an OS. Comhéadain bogearraí a bhfuil go dtí seo ní chobhsaithe, i bhfolach de réir réamhshocraithe agus níl siad ar fáil ach amháin nuair a bhíonn siad ag rith i mód “--éagobhsaí”. De réir mar a chruthófar leaganacha nua, tiocfaidh APInna den sórt sin cobhsaí de réir a chéile. Tá an API san ainmspás domhanda, lena n-áirítear feidhmeanna coitianta ar nós setTimeout() agus fetch(), chomh gar agus is féidir d’API na mbrabhsálaithe gréasáin traidisiúnta agus forbraítear é de réir caighdeáin Ghréasáin do bhrabhsálaithe. Níl na APIanna a sholáthraíonn Rust, a úsáidtear go díreach i gcód an ardáin, chomh maith leis an gcomhéadan chun forlíontáin a fhorbairt le haghaidh ama rite Deno, cobhsaithe fós agus leanann siad ag forbairt.

Ba iad na príomhchúiseanna le hardán nua JavaScript a chruthú ná an fonn deireadh a chur le hearráidí coincheapúla, admhaigh in ailtireacht Node.js, agus timpeallacht níos sláine a sholáthar d’úsáideoirí. Chun an tslándáil a fheabhsú, tá an t-inneall V8 scríofa i Rust, rud a sheachnaíonn go leor de na leochaileachtaí a eascraíonn as ionramháil cuimhne íseal-leibhéil, mar shampla rochtain iar-saor in aisce, dereferences pointeoir nialasach, agus róchaiteachas maolánach. Úsáidtear an t-ardán chun iarratais a phróiseáil i mód neamh-bhloic Tóiceo, scríofa freisin i Rust. Ligeann Tokio duit feidhmchláir ardfheidhmíochta a chruthú bunaithe ar ailtireacht imeacht-tiomáinte, ag tacú le hiarratais líonra il-snáithe agus próiseála i mód asincrónach.

An príomh- Gnéithe Deno:

  • Cumraíocht réamhshocraithe atá dírithe ar shlándáil. Tá rochtain ar chomhaid, líonrú, agus rochtain ar athróga comhshaoil ​​díchumasaithe de réir réamhshocraithe agus ní mór iad a chumasú go sainráite. Rithtear feidhmchláir de réir réamhshocraithe i dtimpeallachtaí bosca gainimh iargúlta agus ní féidir leo rochtain a fháil ar chumais chórais gan ceadanna sainráite a dheonú;
  • Tacaíocht ionsuite do TypeScript thar JavaScript. Úsáidtear an tiomsaitheoir caighdeánach TypeScript chun cineálacha a sheiceáil agus JavaScript a ghiniúint, rud a fhágann go bhfuil buailte feidhmíochta i gcomparáid le parsáil JavaScript i V8. Sa todhchaí, tá sé beartaithe againn ár gcur i bhfeidhm féin a ullmhú ar an gcóras seiceála cineál TypeScript, rud a fheabhsóidh feidhmíocht próiseála TypeScript de réir ord méide;
  • Tagann am rite i bhfoirm comhaid inrite aonair féinchuimsitheach (“deno”). Chun feidhmchláir a rith ag baint úsáide as Deno is leor é uaslódáil dá ardán tá comhad inrite amháin, thart ar 20 MB i méid, nach bhfuil aon spleáchais seachtracha agus nach gá aon suiteáil speisialta ar an gcóras. Thairis sin, ní feidhm monolithic é deno, ach is bailiúchán de phacáistí cliathbhoscaí é i Rust (deno_core, meirgeach_v8), is féidir a úsáid ar leithligh;
  • Agus an clár á thosú agat, chomh maith le modúil a luchtú, is féidir leat seoladh URL a úsáid. Mar shampla, chun an clár welcome.js a rith, is féidir leat an t-ordú “deno https://deno.land/std/examples/welcome.js” a úsáid. Déantar cód ó acmhainní seachtracha a íoslódáil agus a thaisceadh ar an gcóras áitiúil, ach ní dhéantar é a nuashonrú go huathoibríoch (éilíonn nuashonrú an feidhmchlár a rith go sainráite leis an mbratach “--reload”);
  • Próiseáil éifeachtach ar iarratais líonra trí HTTP in iarratais; tá an t-ardán deartha chun feidhmchláir líonra ardfheidhmíochta a chruthú;
  • An cumas feidhmchláir ghréasáin uilíocha a chruthú ar féidir iad a fhorghníomhú in Deno agus i mbrabhsálaí gréasáin rialta;
  • infhaighteacht sraith chaighdeánach modúl, nach gá a bheith ceangailteach do spleáchais sheachtracha. Rinneadh iniúchadh breise agus tástáil chomhoiriúnachta ar na modúil ón mbailiúchán caighdeánach;
  • Chomh maith le ham rite, feidhmíonn ardán Deno mar bhainisteoir pacáiste freisin agus ligeann sé duit modúil a rochtain trí URL taobh istigh den chód. Mar shampla, chun modúl a luchtú, is féidir leat a shonrú sa chód “allmhairiú * mar logáil isteach ó “https://deno.land/std/log/mod.ts”. Déantar comhaid a íoslódáiltear ó fhreastalaithe seachtracha trí URL a thaisceadh. Cinntear an ceangal le leaganacha modúil trí uimhreacha leagan a shonrú laistigh den URL, mar shampla, “https://unpkg.com/[ríomhphost faoi chosaint]/dist/liltest.js";
  • Áirítear leis an struchtúr córas iniúchta spleáchais comhtháite (an t-ordú “deno info”) agus fóntais chun cód a fhormáidiú (deno fmt);
  • Is féidir gach script feidhmchláir a chomhcheangal in aon chomhad JavaScript amháin.

Difríochtaí ó Node.js:

  • Ní úsáideann Deno bainisteoir pacáiste npm
    agus nach bhfuil ceangailte le stórtha, tugtar aghaidh ar mhodúil trí URL nó trí chonair comhaid, agus is féidir na modúil féin a chur ar aon láithreán gréasáin;
  • Ní úsáideann Deno "package.json" chun modúil a shainiú;
  • Difríocht API, tugann gach gníomh asincrónach i Deno gealltanas;
  • Éilíonn Deno sainmhíniú sainráite ar na ceadanna riachtanacha go léir maidir le comhaid, líonra agus athróga comhshaoil;
  • Foirceanntar an t-iarratas de bharr gach earráid nach gcuirtear ar fáil do láimhseálaithe;
  • Úsáideann Deno an córas modúil ECMAScript agus ní thacaíonn sé le riachtanas();
  • Tá freastalaí HTTP ionsuite Deno scríofa i TypeScript agus ritheann sé ar bharr soicéid TCP dúchais, agus tá freastalaí HTTP Node.js scríofa i C agus soláthraíonn sé ceangail do JavaScript. Tá forbróirí Deno tar éis díriú ar chiseal iomlán soicéad TCP a bharrfheabhsú agus comhéadan níos ginearálta a sholáthar. Soláthraíonn Freastalaí Deno HTTP tréchur níos ísle ach ráthaíonn sé latency íseal intuartha. Mar shampla, sa tástáil, bhí feidhmchlár simplí bunaithe ar fhreastalaí Deno HTTP in ann 25 míle iarratas in aghaidh an tsoicind a phróiseáil le latency uasta de 1.3 milleasoicind. In Node.js, phróiseáil iarratas comhchosúil 34 míle iarratas in aghaidh an tsoicind, ach bhí na tréimhsí folúis idir 2 agus 300 milleasoicindí.
  • Níl Deno comhoiriúnach le pacáistí do Node.js (NPM), ach tá sé á fhorbairt ar leithligh idirchiseal le haghaidh comhoiriúnachta le leabharlann caighdeánach Node.js, de réir mar a fhorbraíonn sé, beidh níos mó agus níos mó feidhmchlár scríofa do Node.js in ann a reáchtáil i Deno.
  • Foinse: oscailtenet.ru

Add a comment