Projekti Deno po zhvillon një platformë të sigurt JavaScript të ngjashme me Node.js

Në dispozicion publikimi i projektit Më jep 0.33, e cila ofron një platformë të ngjashme me Node.js për ekzekutimin e pavarur të aplikacioneve në JavaScript dhe TypeScript që mund të përdoret për të ekzekutuar aplikacione pa u lidhur me një shfletues, si për shembull krijimi i mbajtësve që funksionojnë në server. Deno përdor një motor JavaScript V8, i cili përdoret gjithashtu në Node.js dhe shfletues të bazuar në projektin Chromium. Kodi i projektit shperndare nga me licencë MIT. Projekti po zhvillohet nga Ryan Dahl (Ryan Dahl), krijuesi i platformës JavaScript Node.js.

Një nga qëllimet kryesore të krijimit të një ekzekutimi të ri për JavaScript është të sigurojë një mjedis më të sigurt. Për të përmirësuar sigurinë, motori V8 është shkruar në Rust, i cili shmang shumë nga dobësitë që lindin nga manipulimi i memories në nivel të ulët, të tilla si aksesi pa pagesë, çreferencat e treguesit null dhe tejkalimet e buferit. Platforma përdoret për të përpunuar kërkesat në modalitetin jo-bllokues Tokyo, shkruar edhe në Rust. Tokio ju lejon të krijoni aplikacione me performancë të lartë bazuar në arkitekturën e drejtuar nga ngjarjet, duke mbështetur kërkesat e rrjetit me shumë fije dhe përpunim në modalitetin asinkron.

Kryesore karakteristikat Deno:

  • Konfigurimi i paracaktuar i orientuar nga siguria. Qasja në skedar, rrjetëzimi dhe qasja në variablat e mjedisit janë çaktivizuar si parazgjedhje dhe duhet të aktivizohen në mënyrë eksplicite;
  • Mbështetje e integruar për gjuhën TypeScript përveç JavaScript;
  • Runtime vjen në formën e një skedari të vetëm të ekzekutueshëm ("deno"). Për të ekzekutuar aplikacione duke përdorur Deno mjafton Shkarko për platformën e tij një skedar të ekzekutueshëm, me madhësi rreth 10 MB, i cili nuk ka varësi të jashtme dhe nuk kërkon ndonjë instalim të veçantë në sistem;
  • Kur filloni programin, si dhe për të ngarkuar module, mund të përdorni adresimin e URL-së. Për shembull, për të ekzekutuar programin Welcome.js, mund të përdorni komandën "deno https://deno.land/std/examples/welcome.js". Kodi nga burimet e jashtme shkarkohet dhe ruhet në memorie në sistemin lokal, por nuk përditësohet kurrë automatikisht (përditësimi kërkon ekzekutimin në mënyrë eksplicite të aplikacionit me flamurin "--reload");
  • Përpunimi efikas i kërkesave të rrjetit nëpërmjet HTTP në aplikacione; platforma është projektuar për krijimin e aplikacioneve të rrjetit me performancë të lartë;
  • Aftësia për të krijuar aplikacione universale në internet që mund të ekzekutohen si në Deno ashtu edhe në një shfletues të rregullt në internet;
  • Përveç kohës së funksionimit, platforma Deno vepron gjithashtu si menaxher i paketave dhe ju lejon të aksesoni modulet me URL brenda kodit. Për shembull, për të ngarkuar një modul, mund të specifikoni në kodin "import * si regjistër nga "https://deno.land/std/log/mod.ts". Skedarët e shkarkuar nga serverët e jashtëm nëpërmjet URL-së ruhen në memorie të fshehtë. Lidhja me versionet e modulit përcaktohet duke specifikuar numrat e versionit brenda URL-së, për shembull, "https://unpkg.com/[email mbrojtur]/dist/liltest.js";
  • Struktura përfshin një sistem të integruar të inspektimit të varësisë (komandën "deno info") dhe një mjet për formatimin e kodit (deno fmt).
  • Për zhvilluesit e aplikacioneve propozuar një grup modulesh standarde që i janë nënshtruar auditimit shtesë dhe testimit të përputhshmërisë;
  • Të gjithë skriptet e aplikacionit mund të kombinohen në një skedar JavaScript.

Dallimet nga Node.js:

  • Deno nuk përdor menaxherin e paketave npm
    dhe nuk është i lidhur me depo, modulet adresohen nëpërmjet një URL ose nga një shteg skedari dhe vetë modulet mund të vendosen në çdo faqe interneti;

  • Deno nuk përdor "package.json" për të përcaktuar modulet;
  • Dallimi në API, të gjitha veprimet asinkrone në Deno kthejnë një premtim;
  • Deno kërkon përcaktim të qartë të të gjitha lejeve të nevojshme për skedarët, variablat e rrjetit dhe mjedisit;
  • Të gjitha gabimet që nuk ofrohen me mbajtësit çojnë në përfundimin e aplikacionit;
  • Deno përdor sistemin e modulit ECMAScript dhe nuk e mbështet kërkesën().

Burimi: opennet.ru

Shto një koment