Lëshimi i platformës JavaScript Deno 1.16, e cila është destinuar për ekzekutimin e veçantë (pa përdorimin e shfletuesit) të aplikacioneve të shkruara në gjuhët JavaScript dhe TypeScript. Projekti zhvillohet nga autori i Node.js, Ryan Dahl. Kodi i platformës është shkruar në gjuhën programuese Rust dhe shpërndahet nën licencën MIT. Ndërtimet e gatshme janë përgatitur për Linux, Windows dhe macOS.
Projekti ka ngjashmëri me platformën Node.js dhe, si ajo, përdor motorin JavaScript V8, megjithatë, sipas autorit të Node.js, korrigjon një sërë gabimesh arkitektonike të paraardhësit të tij dhe dallon prej tij me nuanca të mëposhtme:
- Përdorimi i Rust si gjuhë kryesore, e cila, sipas zhvilluesve, ul rrezikun e shfaqjes së dobësive që lidhen me punën në nivel të ulët me memorien (mbushja e tamponëve, use-after-free etj.);
- Deno nuk përdor menaxherin e paketave npm dhe package.json, duke ofruar përdoruesve instalimin e moduleve përmes specifikimit të URL-së ose rrugës për instalim. Megjithatë, projekti ofron disa utilitare për të thjeshtuar punën me modulet e jashtme;
- Aplikacionet ekzekutohen në mënyrë të pavarur në rërë dhe nuk kanë akses në rrjet, variabla të ambientit dhe sistemin e skedarëve, pa autorizimet e dhëna qartë;
- Në arkitekturë është e parashikuar mundësia e krijimit të aplikacioneve universale web, të cilat mund të funksionojnë si në sistemin Deno, ashtu edhe në shfletuesin standard;
- Përdorimi i 'ES Modules' dhe mungesa e mbështetjes për require();
- Ădo gabim i paadresuar nga programuesi nĂ« aplikacionin web çon nĂ« ndĂ«rprerjen e tij tĂ« detyrueshme;
- Mbështetje për TypeScript përveç JavaScript;
- Madhësia totale e platformës së gatshme për përdorim është 84 MB (në arkivin zip - 31 MB) si një skedar ekzekutues;
- Vjen me një sistem të zgjidhjes së varësive dhe formatimit të kodit;
- Orientimi për aplikacione me performancë të lartë.
Dino pĂ«rpunon kĂ«rkesat nĂ« mĂ«nyrĂ« jo-bllokuese duke pĂ«rdorur platformĂ«n Tokio, e cila Ă«shtĂ« e destinuar pĂ«r krijimin e aplikacioneve me performancĂ« tĂ« lartĂ« mbi njĂ« arkitekturĂ« tĂ« orientuar nga ngjarjet (event-driven). ĂshtĂ« interesante gjithashtu se serveri HTTP i ndĂ«rtuar brenda Deno Ă«shtĂ« implementuar nĂ« TypeScript mbi soketĂ«t natyrorĂ« TCP, çka ka njĂ« efekt pozitiv nĂ« performancĂ«n e operacioneve rrjetĂ«.
Në versionin e ri vërehen:
- Optimalizimi i performancës (4 patches);
- Korrigjimi i më shumë se 15 gabimeve, përfshirë mbështetje për HTTP/2 nga klienti TLS, sisteme të kodimit që mbështesin etiketat shtesë të kodimit, etj.;
- Më shumë se dyzet risitë, ndër to dallohet stabilizimi i sistemeve të testuara më parë Deno.startTls dhe Deno.TestDefinition.permissions, përditësimi i motorit JS V8 në versionin 9.7 dhe mbështetje për konvertimet React 17 JSX.
Burimi: opennet.ru
