Ang proyekto sa Deno nagpalambo sa usa ka luwas nga plataporma sa JavaScript nga susama sa Node.js

Magamit pagpagawas sa proyekto Hatagi kog 0.33, nga nagtanyag og Node.js-like nga plataporma alang sa stand-alone nga pagpatuman sa aplikasyon sa JavaScript ug TypeScript nga magamit sa pagpadagan sa mga aplikasyon nga dili mahigot sa usa ka browser, sama sa paghimo og mga handler nga modagan sa server. Gigamit ni Deno ang makina sa JavaScript V8, nga gigamit usab sa Node.js ug mga browser nga gibase sa proyekto sa Chromium. Kodigo sa proyekto giapod-apod sa ubos sa lisensya sa MIT. Ang proyekto gimugna ni Ryan Dahl (Ryan Dahl), tiglalang sa Node.js JavaScript nga plataporma.

Usa sa mga nag-unang tumong sa paghimo og bag-ong runtime para sa JavaScript mao ang paghatag og mas luwas nga palibot. Aron mapauswag ang seguridad, ang V8 nga makina gisulat sa Rust, nga naglikay sa daghang mga kahuyangan nga naggikan sa ubos nga lebel sa pagmaniobra sa panumduman, sama sa pagkahuman sa libre nga pag-access, null pointer dereferences, ug buffer overruns. Ang plataporma gigamit sa pagproseso sa mga hangyo sa non-blocking mode Tokyo, gisulat usab sa Rust. Gitugotan ka sa Tokio nga maghimo mga aplikasyon nga adunay taas nga pasundayag base sa arkitektura nga gipadagan sa panghitabo, pagsuporta sa mga hangyo sa multi-threading ug pagproseso sa network sa asynchronous mode.

nag-unang Features Deno:

  • Default nga configuration nga nakabase sa seguridad. Ang pag-access sa file, networking, ug pag-access sa mga variable sa kalikopan gi-disable pinaagi sa default ug kinahanglan nga klaro nga magamit;
  • Gitukod-sa suporta alang sa TypeScript nga pinulongan dugang sa JavaScript;
  • Ang runtime moabut sa porma sa usa ka self-contained executable file ("deno"). Ang pagpadagan sa mga aplikasyon gamit ang Deno igo na upload alang sa plataporma niini usa ka executable file, mga 10 MB ang gidak-on, nga walay mga dependency sa gawas ug wala magkinahanglan og bisan unsang espesyal nga pag-instalar sa sistema;
  • Sa pagsugod sa programa, ingon man sa pag-load sa mga module, mahimo nimong gamiton ang URL addressing. Pananglitan, sa pagpadagan sa welcome.js nga programa, mahimo nimong gamiton ang command "deno https://deno.land/std/examples/welcome.js". Ang code gikan sa gawas nga mga kahinguhaan gi-download ug gi-cache sa lokal nga sistema, apan dili awtomatik nga gi-update (ang pag-update nanginahanglan ug klaro nga pagpadagan sa aplikasyon gamit ang "--reload" nga bandila);
  • Episyente nga pagproseso sa mga hangyo sa network pinaagi sa HTTP sa mga aplikasyon; ang plataporma gidisenyo alang sa paghimo og mga aplikasyon sa network nga adunay taas nga performance;
  • Ang abilidad sa paghimo sa unibersal nga mga aplikasyon sa web nga mahimong ipatuman sa Deno ug sa usa ka regular nga web browser;
  • Dugang sa runtime, ang Deno platform naglihok usab isip package manager ug nagtugot kanimo sa pag-access sa mga module pinaagi sa URL sulod sa code. Pananglitan, aron ma-load ang usa ka module, mahimo nimong itakda sa code nga "import * ingon log gikan sa "https://deno.land/std/log/mod.ts". Gi-cache ang mga file nga gi-download gikan sa mga external server pinaagi sa URL. Ang pagbugkos sa mga bersyon sa module gitino pinaagi sa pagtino sa mga numero sa bersyon sa sulod sa URL, pananglitan, "https://unpkg.com/[protektado sa email]/dist/liltest.js";
  • Ang istruktura naglakip sa usa ka integrated dependency inspection system (ang "deno info" command) ug usa ka utility alang sa code formatting (deno fmt).
  • Alang sa mga developer sa aplikasyon gisugyot usa ka set sa standard modules nga miagi sa dugang nga audit ug compatibility testing;
  • Ang tanan nga mga script sa aplikasyon mahimong mahiusa sa usa ka file sa JavaScript.

Mga kalainan gikan sa Node.js:

  • Si Deno wala mogamit sa npm package manager
    ug wala gihigot sa mga repositoryo, ang mga module gitumong pinaagi sa URL o pinaagi sa file path, ug ang mga module mismo mahimong ibutang sa bisan unsang website;

  • Si Deno wala mogamit sa "package.json" aron ipasabut ang mga module;
  • Ang kalainan sa API, ang tanan nga mga asynchronous nga aksyon sa Deno nagbalik usa ka saad;
  • Ang Deno nanginahanglan ug tin-aw nga kahulugan sa tanan nga kinahanglan nga pagtugot alang sa mga file, network ug mga variable sa palibot;
  • Ang tanan nga mga sayup nga wala gihatag sa mga tigdumala nagdala sa pagtapos sa aplikasyon;
  • Gigamit ni Deno ang sistema sa module sa ECMAScript ug wala gisuportahan ang kinahanglan ().

Source: opennet.ru

Idugang sa usa ka comment