Izšla je Deno 1.16, platforma JavaScript, zasnovana za samostojno (brez brskalnika) izvajanje aplikacij, napisanih v JavaScriptu in TypeScriptu. Projekt razvija avtor Node.js Ryan Dahl. Koda platforme je napisana v programskem jeziku Rust in se distribuira pod licenco MIT. Na voljo so že pripravljene različice za Linux, Windows и macOS.
Projekt je podoben platformi Node.js in tako kot ta uporablja JavaScript mehanizem V8. Vendar pa po besedah avtorja Node.js odpravlja številne arhitekturne pomanjkljivosti svojega predhodnika in se od njega razlikuje na naslednje načine:
- Uporaba Rusta kot primarnega jezika, kar po mnenju razvijalcev zmanjšuje tveganje ranljivosti, povezanih z upravljanjem pomnilnika na nizki ravni (prelivanje medpomnilnika, uporaba po sprostitvi itd.);
- Deno ne uporablja upravitelja paketov npm ali datoteke package.json, temveč uporabnike poziva k namestitvi modulov z navedbo URL-ja ali poti do modula, ki ga je treba namestiti. Vendar pa projekt ponuja več pripomočkov za poenostavitev dela z moduli drugih ponudnikov;
- Aplikacije se izvajajo ločeno v peskovnikih in nimajo dostopa do omrežja, okoljskih spremenljivk ali datotečnega sistema brez izrecnih dovoljenj;
- Arhitektura omogoča ustvarjanje univerzalnih spletnih aplikacij, ki lahko delujejo tako v sistemu Deno kot v običajnem brskalniku;
- Uporaba "ES modulov" in pomanjkanje podpore za require();
- Vsaka napaka v spletni aplikaciji, ki je programer ne odpravi, vodi do njene prisilne prekinitve;
- Podpora za TypeScript poleg JavaScripta;
- Polna velikost platforme, pripravljene za uporabo, je 84 MB (31 MB v zip arhivu) v obliki ene same izvedljive datoteke;
- Paket vključuje sistem za razreševanje odvisnosti in oblikovanje kode;
- Osredotočite se na visokozmogljive aplikacije.
Dino obdeluje zahteve v neblokirnem načinu z uporabo platforme Tokio, ki je zasnovana za gradnjo visokozmogljivih aplikacij, ki temeljijo na dogodkih. Zanimivo je tudi, da je vgrajeni strežnik HTTP v Denovem sistemu implementiran v TypeScriptu prek izvornih vtičnic TCP, kar izboljša delovanje omrežja.
Nova različica ugotavlja:
- Optimizacija delovanja (4 popravki);
- Odpravljenih je bilo več kot 15 hroščev, vključno z odjemalcem TLS, ki zdaj podpira HTTP/2, podsistemom kodiranja, ki podpira dodatne oznake kodiranja itd.;
- Več kot dva ducata novih funkcij, vključno s stabilizacijo prej uporabljenih testnih podsistemov Deno.startTls in Deno.TestDefinition.permissions, posodobitvijo motorja V8 JS na različico 9.7 in podporo za transformacije React 17 JSX.
Vir: opennet.ru
