JavaScript platformas Deno 1.16 izlaidums

Izlaida JavaScript platformu Deno 1.16, kas paredzēta atsevišķai programmu izpildei (bez pārlūkprogrammas), kas uzrakstītas JavaScript un TypeScript valodās. Projektu attīsta Node.js autors Raians Dals (Ryan Dahl). Platformas kods ir uzrakstīts Rust programmēšanas valodā un izplatīts saskaņā ar MIT licenci. Gatavas kompilācijas ir sagatavotas Linux, Windows un macOS.

Projekts ir līdzīgs Node.js platformai un, līdzīgi kā tā, izmanto JavaScript dzinēju V8, tomēr, pēc Node.js autora teiktā, labojot vairākas iepriekšējā arhitektūras nepilnības un atšķiras ar šādiem niansēm:

  • Pamata valoda ir Rust, kas, pēc izstrādātāju domām, samazina zema līmeņa atmiņas darba radīto ievainojamību risku (pārpildes kļūdas, use-after-free utt.);
  • Deno neizmanto npm paketēm un package.json, piedāvājot lietotājam moduļu instalēšanu, norādot URL vai ceļu uz moduli. Tomēr projekts piedāvā vairākus rīkus, lai atvieglotu darbu ar trešo pušu moduļiem;
  • Programmas tiek palaistas atsevišķi smilšu kastēs un netiek ļauti piekļūt tīklam, vides mainīgajiem un failu sistēmai bez skaidri piešķirtiem pilnvarojumiem;
  • Arhitektūrā ir iekļauta iespēja veidot universālas tīmekļa lietojumprogrammas, kas spēj darboties gan Deno sistēmā, gan parastajā pārlūkā;
  • "ES Modules" izmantošana un atbalsta trūkums require();
  • Jebkādas neapstrādātas programmista kļūdas tīmekļa lietojumprogrammā izraisa to obligātu izbeigšanu;
  • Atbalsts TypeScript papildus JavaScript;
  • Pilns gatavās platformas izmērs ir 84 MB (zip arhīvā — 31 MB) un tas ir vienā izpildāmā failā;
  • Komplektā ir iekļauta atkarību risināšanas un koda formatēšanas sistēma;
  • Orientēties uz augstas veiktspējas lietojumprogrammām.

Dino apstrādā pieprasījumus nebloķējošā režīmā, izmantojot Tokio platformu, kas paredzēta augstas veiktspējas līdzēkļu izstrādei, balstoties uz notikumu virzītu arhitektūru. Vēl interesanti, ka iebūvētais Deno HTTP serveris ir izstrādāts TypeScript virs nativām TCP sīkdatnēm, kas pozitīvi ietekmē tīkla operāciju veiktspēju.

Jaunajā versijā ir atzīmēts:

  • Veiktspējas optimizācija (4 plāksteri);
  • Tika vairāk nekā 15 kļūdu, tostarp tagad TLS klients atbalsta HTTP/2, kodēšanas apakšsistēma atbalsta papildu kodēšanas marķierus utt.
  • Vairāk nekā divdesmit jauninājumu, kurus var izcelt, ir iepriekšējo testu apakšsistēmu Deno.startTls un Deno.TestDefinition.permissions stabilizācija, JS dzinēja V8 atjaunināšana uz versiju 9.7 un React 17 JSX transformāciju atbalsts.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster