Ny mpanoratra ny Node.js dia nanolotra ny sehatra JavaScript azo antoka Deno 1.0

Taorian'ny roa taona ny fampandrosoana aseho famoahana lehibe voalohany Omeo ahy 1.0, sehatra iray ho an'ny fanatanterahana irery ny rindranasa amin'ny JavaScript sy TypeScript, izay azo ampiasaina hamoronana mpitantana izay mandeha amin'ny server. Ny sehatra dia novolavolain'i Ryan Dahl (Ryan Dahl), mpamorona ny Node.js. Tahaka ny Node.js, Deno dia mampiasa motera JavaScript V8, izay ampiasaina amin'ny mpitety tranonkala mifototra amin'ny Chromium ihany koa. Mandritra izany fotoana izany, Deno dia tsy fork an'ny Node.js, fa tetikasa vaovao noforonina hatrany am-boalohany. Kaody tetikasa nozarain'i eo ambanin'ny lisansa MIT. FIVORIAMBE vonona ho an'ny Linux, Windows ary macOS.

Ny laharan'ny dikan-teny manan-danja dia mifandray amin'ny fanamafisana ny API ao amin'ny namespace Deno, izay tompon'andraikitra amin'ny fifandraisan'ny fampiharana amin'ny OS. Software interfaces izay efa hatramin'izao tsy stabilisΓ©, dia miafina amin'ny alΓ lan'ny default ary tsy misy afa-tsy rehefa mandeha amin'ny fomba "--tsy azo antoka". Rehefa miforona ny dikan-teny vaovao, dia ho lasa stable tsikelikely ny API toy izany. Ny API ao amin'ny habaka anarana maneran-tany, izay ahitana fiasa mahazatra toy ny setTimeout() sy fetch(), dia akaiky araka izay azo atao amin'ny API an'ny mpitety tranonkala mahazatra ary novolavolaina mifanaraka amin'ny fenitry ny tranonkala ho an'ny navigateur. Ny API nomen'i Rust, izay ampiasaina mivantana amin'ny fehezan-dalΓ na amin'ny sehatra, ary koa ny interface tsara amin'ny famolavolana plugins ho an'ny fotoana fampandehanana Deno, dia tsy mbola niorina ary mbola mivoatra.

Ny antony lehibe amin'ny famoronana sehatra JavaScript vaovao dia ny faniriana hanafoana ny hadisoana hevitra, niaiky ao amin'ny rafitra Node.js, ary manome tontolo azo antoka kokoa ny mpampiasa. Mba hanatsarana ny fiarovana, ny motera V8 dia nosoratana tamin'ny Rust, izay misoroka ny maro amin'ireo vulnerability izay mipoitra avy amin'ny fanodikodinana fahatsiarovana ambany, toy ny fidirana maimaim-poana aorian'ny fidirana, ny tsy fahampian'ny pointer, ary ny fihoaran'ny buffer. Ny sehatra dia ampiasaina hikarakarana ny fangatahana amin'ny fomba tsy fanakanana Tokyo, voasoratra amin'ny teny Rust koa. Tokio dia mamela anao hamorona rindranasa avo lenta mifototra amin'ny maritrano entin'ny hetsika, manohana ny fangatahan'ny tamba-jotra marobe sy fanodinana amin'ny fomba asynchronous.

tena endri-javatra Deno:

  • Fikirakirana default miompana amin'ny fiarovana. Ny fidirana amin'ny rakitra, ny tambajotra, ary ny fidirana amin'ny fari-piainan'ny tontolo iainana dia kilemaina amin'ny alΓ lan'ny default ary tsy maintsy alefa mazava. Ny fampiharana amin'ny alΓ lan'ny default dia mandeha amin'ny tontolon'ny sandbox mitoka-monina ary tsy afaka miditra amin'ny fahafahan'ny rafitra raha tsy manome alalana mazava;
  • Fanohanana naorina ho an'ny TypeScript ankoatra ny JavaScript. Ny mpamoron-kira TypeScript mahazatra dia ampiasaina hanamarinana karazana sy hamorona JavaScript, izay mitarika ho amin'ny fahombiazana raha oharina amin'ny JavaScript parsing ao amin'ny V8. Amin'ny ho avy, mikasa ny hanomana ny fampiharana ny rafitra fanaraha-maso karazana TypeScript izahay, izay hanatsara ny fahombiazan'ny fanodinana TypeScript amin'ny filaharana lehibe;
  • Ny runtime dia tonga amin'ny endrika rakitra azo tanterahana tokana ("deno"). Mba hampandehanana rindranasa mampiasa Deno dia ampy DOWNLOAD ho an'ny sehatra misy azy dia misy rakitra iray azo tanterahana, manodidina ny 20 MB ny habeny, izay tsy misy fiankinan-doha ivelany ary tsy mitaky fametrahana manokana amin'ny rafitra. Ankoatr'izay, ny deno dia tsy fampiharana monolithic, fa fitambarana fonosana boaty ao amin'ny Rust (deno_core, harafesina_v8), izay azo ampiasaina mitokana;
  • Rehefa manomboka ny programa, ary koa ny hamenoana maody, dia azonao atao ny mampiasa adiresy URL. Ohatra, raha hampiasa ny programa welcome.js ianao dia afaka mampiasa ny baiko "deno https://deno.land/std/examples/welcome.js". Ny kaody avy amin'ny loharanon-karena ivelany dia alaina sy voatahiry ao amin'ny rafitra eo an-toerana, saingy tsy havaozina ho azy mihitsy (ny fanavaozana dia mitaky ny fampandehanana mazava ny fampiharana miaraka amin'ny saina "--reload");
  • Fikarakarana mahomby amin'ny fangatahana tambajotra amin'ny alΓ lan'ny HTTP amin'ny rindranasa, ny sehatra dia natao hamoronana rindranasa tambajotra mahomby;
  • Ny fahafahana mamorona rindranasa an-tranonkala manerantany izay azo tanterahina ao Deno na amin'ny navigateur web mahazatra;
  • fisian'ny standard set of modules, ny fampiasana azy dia tsy mitaky fifamatorana amin'ny fiankinan-doha ivelany. Ny maody avy amin'ny fanangonana mahazatra dia nandalo fanaraha-maso fanampiny sy fitsapana mifanaraka;
  • Ho fanampin'ny fotoana fampandehanana, ny sehatra Deno dia miasa ho mpitantana fonosana ary ahafahanao miditra amin'ny modules amin'ny URL ao anaty code. Ohatra, mba hamenoana mody iray dia azonao atao ny mamaritra ny code "import * as log from "https://deno.land/std/log/mod.ts". Ny rakitra alaina avy amin'ny lohamilina ivelany amin'ny alΓ lan'ny URL dia voatahiry. Ny famatorana amin'ny dikan-teny maody dia voafaritra amin'ny famaritana ny laharan'ny dikan-teny ao anatin'ny URL, ohatra, "https://unpkg.com/[email voaaro]/dist/liltest.js";
  • Ny rafitra dia misy rafitra fanaraha-maso miankin-doha (ny baiko "deno info") ary fitaovana iray amin'ny fandrafetana kaody (deno fmt);
  • Ny script fampiharana rehetra dia azo atambatra ho rakitra JavaScript iray.

Ny fahasamihafana amin'ny Node.js:

  • Deno dia tsy mampiasa npm package manager
    ary tsy mifamatotra amin'ny fitehirizana, ny modules dia alefa amin'ny alΓ lan'ny URL na amin'ny alΓ lan'ny lΓ lan-drakitra, ary ny modules dia azo apetraka amin'ny tranokala rehetra;
  • Deno dia tsy mampiasa "package.json" hamaritana ny maody;
  • Ny fahasamihafan'ny API, ny hetsika asynchronous rehetra ao Deno dia mamerina fampanantenana;
  • Deno dia mitaky famaritana mazava ny fahazoan-dΓ lana ilaina rehetra ho an'ny rakitra, tambajotra ary fari-piainan'ny tontolo iainana;
  • Ny lesoka rehetra tsy omena amin'ny mpitantana dia mitarika amin'ny fampitsaharana ny fampiharana;
  • Deno dia mampiasa ny rafitra module ECMAScript ary tsy manohana ny fitakiana ();
  • Ny mpizara HTTP naorina ao Deno dia voasoratra ao amin'ny TypeScript ary mandeha eo an-tampon'ny faladia TCP teratany, raha ny mpizara HTTP Node.js kosa dia voasoratra amin'ny C ary manome fatorana ho an'ny JavaScript. Ny mpamorona an'i Deno dia nifantoka tamin'ny fanatsarana ny socket socket TCP manontolo ary ny fanomezana interface tsara kokoa. Ny Deno HTTP Server dia manome fidirana ambany kokoa saingy miantoka ny fahatarana ambany. Ohatra, tamin'ny fitsapana, fampiharana tsotra mifototra amin'ny mpizara Deno HTTP dia afaka namaky fangatahana 25 arivo isan-tsegondra miaraka amin'ny fe-potoana ambony indrindra amin'ny 1.3 milliseconds. Ao amin'ny Node.js, ny fampiharana mitovy amin'izany dia namatsy fangatahana 34 arivo isan-tsegondra, fa ny fahatarana dia avy amin'ny 2 sy 300 milliseconds.
  • Deno dia tsy mifanaraka amin'ny fonosana ho an'ny Node.js (NPM), fa novolavolaina misaraka interlayer mba hifanaraka amin'ny tranomboky Node.js manara-penitra, rehefa mivoatra izy, dia mihamaro ny fampiharana nosoratana ho an'ny Node.js ho afaka mandeha ao Deno.
  • Source: opennet.ru

Add a comment