Проект Deno развивает защищённую JavaScript-платформу, похожую на Node.js

I disponueshëm lëshimin e projektit Deno 0.33, ofron një platformë të ngjashme me Node.js për ekzekutimin e veprimesh në gjuhën JavaScript dhe TypeScript në mënyrë të pavarur nga shfletuesi, për shembull, për krijimin e handler-ave që funksionojnë në server. Në Deno përdoret motori JavaScript V8, i cili gjithashtu përdoret në Node.js dhe shfletuesit e bazuar në projektin Chromium. Kodi i projektit shpërndahet nën licencën MIT. Projekti është i zhvilluar nga Ryan Dahl (Ryan Dahl), krijuesi i platformës JavaScript Node.js.

Një nga qëllimet kryesore të krijimit të një runtime të ri për JavaScript është ofrimi i një ambienti më të sigurt. Për të rritur sigurinë, mbështjellësi për motorrin V8 është shkruar në gjuhën Rust, e cila lejon shmangien e shumë dobësive që lindin nga puna me memorien në nivel të ulët, siç janë qasja në hapësirën e memories pas çlirimit të saj, dereferencimi i treguesve të null dhe shkelja e kufijve të tamponit. Për të trajtuar kërkesat në mënyrë jo bllokuese, përdoret platforma Tokio, gjithashtu e shkruar në gjuhën Rust. Tokio lejon krijimin e aplikacioneve me performancë të lartë të bazuara në arkitekturën e orientuar nga ngjarjet (Event-driven), duke mbështetur shumëprocësorin dhe trajtimin e kërkesave të rrjetit në mënyrë asinkrone.

Main e veçanta Deno:

  • Orientimi në siguri në konfigurimin e paracaktuar. Qasja në skedarë, mundësitë rrjet dhe qasja në variablat e mjedisit janë të bllokuara në parazgjedhje dhe kërkojnë aktivizim të qartë;
  • Mbështetje e integruar për gjuhën TypeScript përveç JavaScript;
  • Runtime ofrohet në formën e një skedari ekzekutiv të pavarur («deno»). Për të ekzekutuar aplikacione duke përdorur Deno, mjafton shkarkohet për platformën e saj një skedar ekzekutiv, me një madhësi prej rreth 10 Mb, që nuk ka varësi të jashtme dhe nuk kërkon ndonjë instalim të veçantë në sistem;
  • Në ekzekutimin e programit, si dhe për ngarkimin e modules mund të përdoren adresat përmes URL. 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 ngarkohet dhe ruhet në sistemin lokal, por asnjëherë nuk përditësohet automatikisht (për përditësim është e nevojshme të nisni aplikacionin me flamurin «—reload»);
  • Përpunim efektiv i kërkesave në aplikacione përmes HTTP, platforma është e dizajnuar për të krijuar aplikacione rrjetore me performancë të lartë;
  • Mundësia për të krijuar aplikacione web universale, të cilat mund të ekzekutohen si në Deno ashtu edhe në shfletuesin e zakonshëm të web-it;
  • Përveç runtime-it, platforma Deno gjithashtu shërben si menaxher paketash dhe lejon qasjen në module përmes URL. Për shembull, për të ngarkuar një modul, mund të specifikohet në kod «import * as log from «https://deno.land/std/log/mod.ts». Skedarët e ngarkuar nga serverë të jashtëm përmes URL ruhet në cache. Lidhjet me versionet e moduleve përcaktohen përmes numrave të versioneve brenda URL, për shembull, «https://unpkg.com/liltest@0.0.5/dist/liltest.js»;
  • Në përbërje është e integruar një sistem inspektimi të varësive (komanda «deno info») dhe një mjet për formatimin e kodit (deno fmt).
  • Për zhvilluesit e aplikacioneve suggested një grup modulash standardë që kanë kaluar një audt shtesë dhe kontroll për përputhshmërinë;
  • Të gjitha skriptet e aplikacionit mund të kombinohen në një skedar JavaScript.

Dallimet nga Node.js:

  • Deno nuk përdor menaxherin e pakove npm
    dhe nuk lidhet me depozitat, adresimi i moduleve bëhet përmes URL-së ose me rrugë skedari, ndërsa modulet mund të vendosen në çdo faqe;
  • Në Deno nuk përdoret "package.json" për të përcaktuar modulet;
  • Dallimi në API, të gjitha veprimet asinkrone në Deno kthejnë promise;
  • Deno kërkon që të gjithë mirëqeniet e nevojshme për skedarët, rrjetet dhe variablat e mjedisit të përcaktohen në mënyrë eksplicite;
  • Të gjithë gabimet që nuk kanë trajtues të caktuar çojnë në përfundimin e ekzekutimit të aplikacionit;
  • Në Deno zbatohet sistemi i moduleve ECMAScript dhe nuk mbështetet require().

Burimi: opennet.ru

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster