Në platformën JavaScript Deno është siguruar pajtueshmëria me modulat NPM

Lëshohet versioni Deno 1.28, një platformë për ekzekutimin e izoluar të aplikacioneve në gjuhët JavaScript dhe TypeScript, e cila mund të përdoret për të krijuar handlera që punojnë në server. Platforma zhvillohet nga Ryan Dahl, krijuesi i Node.js. Si në Node.js, Deno përdor motorin JavaScript V8, i cili po ashtu përdoret në shfletuesit e bazuar në Chromium. Megjithatë, Deno nuk është një nënprojekt i Node.js, por është një projekt tërësisht i ri, i ndërtuar nga e para. Kodi i projektit shpërndahet nën licencën MIT. Ndërtimet janë përgatitur për Linux, Windows dhe macOS.

Projekti Deno u krijua për t'i ofruar përdoruesve një mjedis më të sigurt dhe për të eliminuar gabimet konceptuale të bëra në arkitekturën e Node.js. Për të rritur sigurinë, mbështjellja rreth motorit V8 është shkruar në gjuhën Rust, e cila lejon shmangien e shumë dobësive që lindin për shkak të punës me kujtesën në nivel të ulët. Për të trajtuar kërkesat në mënyrë jo bllokuese, përdoret platforma Tokio, gjithashtu e shkruar në Rust. Tokio lejon krijimin e aplikacioneve me performancë të lartë, të bazuara në arkitekturën e orientuar nga ngjarjet (Event-driven), që mbështesin shumëproneshmërinë dhe trajtimin e kërkesave rrjetore në mënyrë asinhrone.

Ndryshimi kyç nĂ« versionin e ri Ă«shtĂ« stabilizimi i kompatibilitetit me paketat qĂ« janĂ« publikuar nĂ« depojnĂ« NPM, gjĂ« qĂ« lejon pĂ«rdorimin nĂ« Deno tĂ« mĂ« shumĂ« se 1.3 milion moduleve tĂ« krijuara pĂ«r platformĂ«n Node.js. PĂ«r shembull, nĂ« aplikacionet e bazuara nĂ« Deno tani mund tĂ« pĂ«rdoren module pĂ«r organizimin e aksesit tĂ« qĂ«ndrueshĂ«m nĂ« tĂ« dhĂ«na, si Prisma, Mongoose dhe MySQL, si dhe korniza pĂ«r sigurimin e funksionimit tĂ« frontendĂ«ve, si React dhe Vue. Disa module NPM ende mbeten jocompatibile me Deno, pĂ«r shembull, pĂ«r shkak tĂ« lidhjeve me elemente specifike tĂ« mjedisit tĂ« Node.js, siç Ă«shtĂ« skeda package.json. Gjithashtu, ende nuk Ă«shtĂ« e mundur tĂ« pĂ«rdoret komanda “deno compile” me modulet NPM. NĂ« versionet e ardhshme pritet tĂ« eliminohen kĂ«to jocompatibilitete dhe kufizime.

MbĂ«shtetja pĂ«r modelin e mĂ«parshĂ«m nĂ« Deno, i bazuar nĂ« sistemin e moduleve ECMAScript dhe Web API, Ă«shtĂ« ruajtur nĂ« tĂ« njĂ«jtin nivel dhe pĂ«r importimin e moduleve NPM pĂ«rdoret skema e zakonshme e Deno pĂ«r ngarkimin bazuar nĂ« URL. PĂ«r qasje nĂ« modulet NPM, janĂ« parashikuar njĂ« para-shtesĂ« tĂ« veçantĂ« URL “npm:”, e cila mund tĂ« pĂ«rdoret nĂ« mĂ«nyrĂ« analogjike me modulet e zakonshme tĂ« Deno. PĂ«r shembull, pĂ«r tĂ« importuar njĂ« modul NPM, mund tĂ« specifikohet ‘import { chalk } from “npm:chalk@5”;’, dhe pĂ«r tĂ« drejtuar njĂ« skript NPM nga linja e komandĂ«s — “deno run —allow-env —allow-read npm:create-vite-extra”.

PĂ«rdorimi i pakove NPM nĂ« Deno Ă«shtĂ« shumĂ« mĂ« i thjeshtĂ« sesa nĂ« Node.js, pasi nuk Ă«shtĂ« e nevojshme instalimi paraprak i moduleve (modulet instalohen gjatĂ« ekzekutimit tĂ« parĂ« tĂ« aplikacionit), nuk pĂ«rdoret skeda package.json, si dhe nuk pĂ«rdoret katalogu node_modules si standart (modulet ruhen nĂ« njĂ« katalog tĂ« pĂ«rbashkĂ«t, por ekziston mundĂ«sia pĂ«r tĂ« kthyer sjelljen e vjetĂ«r duke pĂ«rdorur opsionin “—node-modules-dir”).

NĂ« aplikacionet e bazuara nĂ« NPM ruhet mundĂ«sia e pĂ«rdorimit tĂ« mekanizmave tĂ« ofruar nga Deno pĂ«r ndarjen e aksesit, izolimin dhe aktivizimin e funksionaliteteve tĂ« avancuara qĂ« ndikohet nga siguria. PĂ«r tĂ« parandaluar sulmet pĂ«rmes varĂ«sive tĂ« dyshimta, Deno bllokon nĂ« mĂ«nyrĂ« standarde tĂ« gjitha pĂ«rpjekjet pĂ«r akses nĂ« sistem nga varĂ«sitĂ« dhe jep njĂ« paralajmĂ«rim pĂ«r problemet e zbuluara. PĂ«r shembull, kur njĂ« modul pĂ«rpiqet tĂ« fitojĂ« akses pĂ«r tĂ« shkruar nĂ« /usr/bin/, do tĂ« shfaqet njĂ« pyetje pĂ«r konfirmimin e kĂ«saj operacioni: deno run npm:install-malware ⚠ ┌ Deno kĂ«rkon akses pĂ«r tĂ« shkruar nĂ« /usr/bin/. ├ KĂ«rkuar nga `install-malware` ├ PĂ«rsĂ«ritni me —allow-write pĂ«r tĂ« anashkaluar kĂ«tĂ« pyetje. └ Lejo? [y/n] (y = po, lejo; n = jo, moho).

Nga përmirësimet që nuk lidhen me NPM në versionin e ri, përmendet azhurnimi i motorit V8 në versionin 10.9, përcaktimi automatik i skedave me bllokime, stabilizimi i API-së Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() dhe Deno.uid(), si dhe shtimi i një API të ri të pa stabilizuar Deno.Command() për ekzekutimin e komandave (zëvendësimi universal Deno.spawn, Deno.spawnSync dhe Deno.spawnChild).

Karakteristikat kryesore të Deno:

  • Orientimi pĂ«r sigurinĂ« nĂ« konfigurimin e parazgjedhur. Qasjet nĂ« skedarĂ«, mundĂ«sitĂ« rrjet dhe qasja nĂ« variablat mjedisit tĂ« parazgjedhur janĂ« bllokuar dhe kĂ«rkojnĂ« aktivizim tĂ« qartĂ«. Aplikacionet e parazgjedhura startojnĂ« nĂ« ambientet e izoluara sandbox dhe nuk mund tĂ« aksesojnĂ« mundĂ«sitĂ« sistemore pa u dhĂ«nĂ« autorizime tĂ« qarta;
  • PĂ«rkrahje e integruar pĂ«r gjuhĂ«n TypeScript pĂ«rveç JavaScript. PĂ«r tĂ« verifikuar llojet dhe pĂ«r tĂ« gjeneruar JavaScript, pĂ«rdoret kompajleri i brendshĂ«m i TypeScript, gjĂ« qĂ« çon nĂ« rĂ«nie tĂ« performancĂ«s krahasuar me analizĂ«n e JavaScript nĂ« V8;
  • Runtime-ofertat vijnĂ« nĂ« formĂ«n e njĂ« skedari ekzekutiv tĂ« vetĂ«-mjaftueshĂ«m (“deno”). PĂ«r tĂ« ekzekutuar aplikacione duke pĂ«rdorur Deno, mjafton tĂ« shkarkoni pĂ«r platformĂ«n tuaj njĂ« skedar ekzekutiv prej rreth 30 MB, pa varĂ«si tĂ« jashtme dhe qĂ« nuk kĂ«rkon ndonjĂ« instalim tĂ« veçantĂ« nĂ« sistem. NĂ« kĂ«tĂ« mĂ«nyrĂ«, deno nuk Ă«shtĂ« njĂ« aplikacion monolitik, por pĂ«rbĂ«n njĂ« koleksion tĂ« paketave crate nĂ« Rust (deno_core, rusty_v8), tĂ« cilat mund tĂ« pĂ«rdoren veçmas;
  • Kur stradhet programi, si dhe pĂ«r ngarkimin e moduleve, mund tĂ« pĂ«rdoren adresat pĂ«rmes URL. PĂ«r shembull, pĂ«r tĂ« nisur programin welcome.js mund tĂ« pĂ«rdoret komanda «deno https://deno.land/std/examples/welcome.js». Kodi nga burime tĂ« jashtme ngarkohet dhe ruhet nĂ« sistemin lokal, por nuk pĂ«rditĂ«sohet automatikisht (pĂ«r pĂ«rditĂ«simin e kĂ«rkohet tĂ« fillohet aplikacioni me flagun «—reload»);
  • PĂ«rpunimi efektiv i kĂ«rkesave rrjet nĂ« aplikacione pĂ«rmes HTTP, platforma Ă«shtĂ« e dizajnuar pĂ«r krijimin e aplikacioneve 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;
  • Prania e njĂ« suite standard modulash, pĂ«rdorimi i tĂ« cilave nuk kĂ«rkon lidhje me varĂ«si tĂ« jashtme. Modulat nga koleksioni standard kanĂ« kaluar auditim tĂ« mĂ«tejshĂ«m dhe kontroll pĂ«r pĂ«rputhshmĂ«ri;
  • PĂ«rveç runtime, platforma Deno gjithashtu shĂ«rben si menaxher paketash dhe lejon qĂ« brenda kodit tĂ« referohen modulave pĂ«rmes URL. PĂ«r shembull, pĂ«r tĂ« ngarkuar njĂ« modul, mund tĂ« tregoni nĂ« kod «import * as log from «https://deno.land/std/log/mod.ts». SkedarĂ«t e ngarkuar nga burime tĂ« jashtme servera pĂ«r URL, e ruajtur. Lidhja me versionet e moduleve pĂ«rcaktohet pĂ«rmes numrave tĂ« versioneve brenda URL, pĂ«r shembull, «https://unpkg.com/liltest@0.0.5/dist/liltest.js»;
  • PjesĂ« e integruar e sistemit tĂ« inspektimit tĂ« varĂ«sive (komanda «deno info») dhe utilitarit pĂ«r formatimin e kodit (deno fmt);
  • TĂ« gjitha skenarĂ«t e aplikacionit mund tĂ« bashkohen nĂ« njĂ« skedar JavaScript.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster