Deno projektas kuria saugią JavaScript platformą, panašią į Node.js

Galima projekto leidimas „Deno 0.33“, kuri siūlo į Node.js panašią platformą, skirtą atskiroms programoms vykdyti JavaScript ir TypeScript, kurią galima naudoti programoms paleisti nesusietus su naršykle, pvz., sukurti serveryje veikiančias tvarkykles. Deno naudoja JavaScript variklį V8, kuris taip pat naudojamas Node.js ir naršyklėse, pagrįstose Chromium projektu. Projekto kodas išplatino pagal MIT licenciją. Projektą kuria Ryanas Dahlas (Ryanas Dahlas), Node.js JavaScript platformos kūrėjas.

Vienas iš pagrindinių tikslų kuriant naują JavaScript vykdymo laiką yra sukurti saugesnę aplinką. Siekiant pagerinti saugumą, V8 variklis parašytas Rust, todėl išvengiama daugelio pažeidžiamumų, atsirandančių dėl žemo lygio atminties manipuliavimo, pvz., laisvos prieigos, nulinių rodyklės nuorodų ir buferio viršijimo. Platforma naudojama užklausoms apdoroti neblokuojančiu režimu Tokijas, taip pat parašyta Rust. Tokio leidžia jums kurti didelio našumo programas, pagrįstas įvykiais pagrįsta architektūra, palaikančiomis kelių gijų kūrimą ir apdorojančias tinklo užklausas asinchroniniu režimu.

pagrindinis Įranga Deno:

  • Į saugumą orientuota numatytoji konfigūracija. Prieiga prie failų, tinklų kūrimas ir prieiga prie aplinkos kintamųjų yra išjungti pagal numatytuosius nustatymus ir turi būti aiškiai įgalinti;
  • Integruotas TypeScript kalbos palaikymas, be JavaScript;
  • Vykdymo laikas pateikiamas kaip vienas savarankiškas vykdomasis failas („deno“). Norėdami paleisti programas naudodami Deno, pakanka atsisiųsti savo platformai vienas vykdomasis failas, maždaug 10 MB dydžio, kuris neturi išorinių priklausomybių ir nereikalauja jokio specialaus diegimo sistemoje;
  • Paleidžiant programą, taip pat įkeliant modulius, galite naudoti URL adresavimą. Pavyzdžiui, norėdami paleisti welcome.js programą, galite naudoti komandą „deno https://deno.land/std/examples/welcome.js“. Kodas iš išorinių išteklių atsisiunčiamas ir saugomas vietinės sistemos talpykloje, bet niekada nėra automatiškai atnaujinamas (atnaujinant reikia aiškiai paleisti programą su žyma „--reload“);
  • Efektyvus tinklo užklausų apdorojimas per HTTP programose; platforma skirta kurti didelio našumo tinklo programas;
  • Galimybė kurti universalias žiniatinklio programas, kurios gali būti vykdomos tiek Deno, tiek įprastoje interneto naršyklėje;
  • Be vykdymo laiko, Deno platforma taip pat veikia kaip paketų tvarkyklė ir leidžia pasiekti modulius pagal URL kodo viduje. Pavyzdžiui, norėdami įkelti modulį, kode galite nurodyti „importuoti * kaip žurnalą iš „https://deno.land/std/log/mod.ts“. Failai, atsisiųsti iš išorinių serverių per URL, saugomi talpykloje. Susiejimas su modulio versijomis nustatomas nurodant versijų numerius URL viduje, pavyzdžiui, „https://unpkg.com/[apsaugotas el. paštu]/dist/liltest.js";
  • Struktūrą sudaro integruota priklausomybės tikrinimo sistema (komanda „deno info“) ir kodo formatavimo priemonė (deno fmt).
  • Programų kūrėjams pasiūlė standartinių modulių rinkinys, kuriam buvo atliktas papildomas auditas ir suderinamumo testai;
  • Visi programų scenarijai gali būti sujungti į vieną „JavaScript“ failą.

Skirtumai nuo Node.js:

  • Deno nenaudoja npm paketų tvarkyklės
    ir nėra susietas su saugyklomis, moduliai adresuojami per URL arba failo kelią, o pačius modulius galima patalpinti bet kurioje svetainėje;

  • Deno nenaudoja "package.json" moduliams apibrėžti;
  • API skirtumas, visi asinchroniniai Deno veiksmai grąžina pažadą;
  • Deno reikalauja aiškiai apibrėžti visus reikalingus leidimus failams, tinklui ir aplinkos kintamiesiems;
  • Visos klaidos, kurios nėra pateiktos tvarkytojams, lemia programos nutraukimą;
  • Deno naudoja ECMAScript modulių sistemą ir nepalaiko request().

Šaltinis: opennet.ru

Добавить комментарий