Доступна платформа Deno 2.0, развиваемая автором Node.js

Udgaven af Deno 2.0-platformen er blevet offentliggjort. Den er designet til isoleret kørsel af serverapplikationer skrevet i JavaScript og TypeScript ved hjælp af V8-motoren, der anvendes i Chromium-baserede browsere. Deno-projektet udvikles af Ryan Dahl, skaberen af Node.js, med det formål at tilbyde et mere sikkert miljø og rette konceptuelle fejl, der blev begået i Node.js-arkitekturen. For at forbedre sikkerheden er indpakningen omkring V8-motoren skrevet i Rust, og for at håndtere anmodninger i ikke-blokerende tilstand anvendes Tokio-platformen. Projektets kode distribueres under MIT-licensen. Bygninger er forberedt til Linux, Windows og macOS.

Ved forberedelsen af den nye version blev der lagt særlig vægt på kompatibilitet med den gamle JavaScript-infrastruktur og udvidelse af det understøttede spektrum af JavaScript-projekter uden at kompromittere sikkerheden. Nogle af ændringerne inkluderer:

  • Der er implementeret bagudkompatibilitet med Node.js og npm, der muliggør kørsel af uændrede applikationer, der er oprettet til Node.js. Støtten til Node.js giver også mulighed for gradvist at overføre eksisterende projekter fra Node.js til Deno eller tilføje afhængigheder fra NPM til Deno-projekter ved at angive 'npm:' specifikatoren, når pakker importeres i deno.json.
  • Der er tilføjet indbygget understøttelse af package.json-filen og mappen med node_modules-moduler, der bruges i Node.js.
  • Der er sikret støtte til private NPM-repositorier, der defineres gennem '.npmrc'-filer.
  • Understøttelse af populære JavaScript-rammer som Next.js, Astro, Remix, Angular, SvelteKit og QwikCity er blevet tilføjet.
  • Der er tilføjet support til npm-arbejdsrum (workspace) og monorepo med separat håndtering af afhængigheder.
  • Nye pakkeadministrationskommandoer er blevet tilføjet: 'deno install' til installation af afhængigheder, 'deno add' til tilføjelse af pakker til package.json eller deno.json, og 'deno remove' til at fjerne pakker. Det bemærkes, at 'deno install' fungerer ca. 15 gange hurtigere end npm, når der ikke er pakker i cachen, og 90% hurtigere, når pakken er i cachen (både node_modules og egen global cache understøttes).
  • Den standardbibliotek er blevet stabiliseret.
  • Der er sikret en langvarig supportcyklus (LTS).
  • JSR er blevet præsenteret — et repository med JavaScript- og TypeScript-biblioteker, der kan bruges i forskellige JavaScript-runtime.
  • I 'deno fmt' kommandoen er der tilføjet muligheden for at formatere indhold i HTML, CSS og YAML-formater.
  • Kommandoen «deno lint» har fået support til Node.js-specifikke regler og rettelser.
  • I kommandoen «deno test» er muligheden for at køre tests oprettet med node:test blevet implementeret.
  • I kommandoen «deno task» er der blevet tilføjet support til at køre scripts via package.json.
  • I kommandoen «deno compile» er der nu mulighed for at signere koden digitalt.
  • I kommandoen «deno serve» er der implementeret parallelisering af HTTP-serveroperationer ved hjælp af flere CPU-kerner.
  • I kommandoen «deno coverage» er der tilføjet support til at gemme rapporter i HTML-format.
  • Ydelsesoptimering er udført.
    Доступна платформа Deno 2.0, развиваемая автором Node.js

De vigtigste funktioner i Deno:

  • Fokus på sikkerhed i standardkonfigurationen. Adgang til filer, netværksmuligheder og miljøvariabler er som standard blokeret og kræver eksplicit aktivering. Standardprogrammer kører i isolerede sandbox-miljøer og kan ikke få adgang til systemressourcer uden at få tildelt specifikke rettigheder;
  • Indbygget support til TypeScript ud over JavaScript. Typekontrol og generering af JavaScript udføres af den indbyggede TypeScript-kompilator, hvilket fører til lavere ydeevne sammenlignet med JavaScript-parsing i V8;
  • Runtime leveres i form af én selvstændig eksekverbar fil («deno»). For at køre applikationer ved hjælp af Deno er det tilstrækkeligt at downloade én eksekverbar fil til din platform på cirka 40 MB, som ikke har eksterne afhængigheder og ikke kræver nogen særlig installation i systemet. Deno er ikke en monolitisk applikation, men et udvalg af crate-pakker i Rust (deno_core, rusty_v8), der kan bruges hver for sig;
  • Ved kørsel af programmer og til indlæsning af moduler kan der anvendes URL-adresser. For eksempel kan man bruge kommandoen 'deno https://deno.land/std/examples/welcome.js' til at køre programmet welcome.js. Kode fra eksterne ressourcer hentes og cachelagres på det lokale system, men opdateres aldrig automatisk (for at opdatere kræver det, at man eksplicit starter applikationen med flaget '--reload');
  • Effektiv håndtering af HTTP-netværksanmodninger, platformen er designet til at skabe højtydende netværksapplikationer;
  • Mulighed for at skabe universelle webapplikationer, der kan køre både i Deno og i almindelige web-browsere;
  • Der er et standard sæt moduler, hvis anvendelse ikke kræver binding til eksterne afhængigheder. Modulerne fra standardkollektionen har været gennem en yderligere revision og kompatibilitetskontrol;
  • Udover runtime fungerer Deno-platformen også som en pakkemanager og tillader tilgang til moduler via URL i koden. For eksempel kan man angive i koden «import * as log from «https://deno.land/std/log/mod.ts». Filer downloadet fra eksterne servere via URL caches. Bindingen til versioner af moduler defineres gennem angivelse af versionsnumre inden for URL, f.eks. «https://unpkg.com/liltest@0.0.5/dist/liltest.js»;
  • Fokus på brug af webstandarder, support for Promise, fetch og ECMAScript-moduler.
  • Kompatibilitet med pakker, der er hostet i NPM-repositoriet og oprettet til Node.js-platformen.
  • Integreret er et system til inspektion af afhængigheder (kommandoen "deno info") og et værktøj til kodeformatering (deno fmt);
  • Alle applikationsscripts kan sammenlægges i én JavaScript-fil.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster