Deno JavaScript-plattform versjon 1.16

Deno 1.16 JavaScript-plattformen ble utgitt, designet for frittstående kjøring (uten å bruke en nettleser) av applikasjoner skrevet i JavaScript og TypeScript. Prosjektet er utviklet av Node.js-forfatteren Ryan Dahl. Plattformkoden er skrevet i Rust-programmeringsspråket og distribueres under MIT-lisensen. Ferdige bygg er forberedt for Linux, Windows og macOS.

Prosjektet ligner på Node.js-plattformen og bruker, i likhet med det, V8 JavaScript-motoren, men ifølge forfatteren av Node.js korrigerer den en rekke arkitektoniske feil til forgjengeren og skiller seg fra den i følgende nyanser :

  • Å bruke Rust som hovedspråk, noe som ifølge utviklerne reduserer risikoen for sårbarheter knyttet til lavnivå-minneadministrasjon (bufferoverflyt, bruk-etter-fri, etc.);
  • Deno bruker ikke npm-pakkebehandlingen og package.json, og ber brukeren om å installere moduler ved å spesifisere en URL eller bane til modulen som skal installeres. Imidlertid tilbyr prosjektet flere verktøy for å forenkle arbeid med tredjepartsmoduler;
  • Applikasjoner kjøres separat i sandkasser og har ikke tilgang til nettverket, miljøvariabler og filsystemet, uten eksplisitt gitte tillatelser;
  • Arkitekturen gir muligheten til å lage universelle webapplikasjoner som kan fungere både i Deno-systemet og i en vanlig nettleser;
  • Bruker "ES-moduler" og mangler require()-støtte;
  • Eventuelle feil i en nettapplikasjon som ikke håndteres av programmereren fører til tvungen avslutning;
  • TypeScript-støtte i tillegg til JavaScript;
  • Den fulle størrelsen på den ferdige plattformen er 84 MB (i et zip-arkiv - 31 MB) i form av en enkelt kjørbar fil;
  • Settet tilbyr et system for å løse avhengigheter og formatere kode;
  • Fokuser på applikasjoner med høy ytelse.

Dino behandler forespørsler på en ikke-blokkerende måte ved å bruke Tokio-plattformen, designet for å bygge høyytelsesapplikasjoner basert på hendelsesdrevet arkitektur. Det er også interessant at Denos innebygde HTTP-server er implementert i TypeScript på toppen av native TCP-sockets, noe som har en positiv effekt på ytelsen til nettverksoperasjoner.

Den nye versjonen bemerker:

  • Ytelsesoptimalisering (4 patcher);
  • Rettet mer enn 15 feil, spesielt, TLS-klienten støtter nå HTTP/2, undersystemet for koding støtter ytterligere kodingsmerker, etc.;
  • Mer enn to dusin innovasjoner, hvorav vi kan merke stabiliseringen av de tidligere testsubsystemene Deno.startTls og Deno.TestDefinition.permissions, oppdatering av V8 JS-motoren til versjon 9.7 og støtte for React 17 JSX-transformasjoner.

Kilde: opennet.ru

Legg til en kommentar