Programmering

Deno 1.0 ankommer for å utfordre Node.js

Deno, en JavaScript / TypeScript-kjøretid som lover sterkere sikkerhet og en overlegen utvikleropplevelse til Node.js, nådde sin 1.0-utgivelsesstatus 13. mai 2020.

Opprettet av Ryan Dahl, som også opprettet Node.js, ble Deno designet for å løse en rekke Node-mangler, spesielt sikkerhet. (Deno er et anagram over Node.) Prosjektet ble offentlig for omtrent to år siden.

I motsetning til Node, bruker ikke Deno NPM-pakkebehandleren; i stedet laster den inn moduler ved å referere til URL-er eller filstier. Filosofien bak Deno er å tjene som et produktivt, sikkert skriptmiljø for den moderne programmereren. Det kan være en erstatning for verktøyskript som kan ha blitt skrevet i Python eller Bash. Instruksjoner for installering av Deno finner du på deno.land.

Høydepunkter fra Deno inkluderer:

  • Deno er kjøretid for å kjøre JavaScript og TypeScript utenfor nettleseren i en enkelt kjørbar (denokode).
  • Deno er sikker som standard, uten fil-, nettverks- eller miljøtilgang med mindre det er eksplisitt aktivert.
  • Deno dør av ufangede feil.
  • Alle asynkroniseringshandlinger i Deno gir et løfte.
  • Deno-skript kan samles i en enkelt JavaScript-fil.
  • Deno har en innebygd avhengighetsinspektør (deno infokode) og en kodeformaterer.
  • Deno tilbyr et sett med reviderte standardmoduler.
  • Deno ble designet som en serie rustkasser for å tillate integrering i forskjellige lag.

Ved å forklare årsakene til Deno skrev Dahl og medbidragsyterne Bartuk Iwanczuk og Bert Belder i et blogginnlegg at mens JavaScript er det naturlige valget for dynamisk språkverktøy, ble Node designet i 2009 da JavaScript var et mye annet språk. Som et resultat kan det være vanskelig å bygge applikasjoner på Node.

"Vi føler at landskapet til JavaScript og den omkringliggende programvareinfrastrukturen har endret seg nok til at det var verdt å forenkle," skrev Deno-skaperne. "Vi søker et morsomt og produktivt skriptmiljø som kan brukes til et bredt spekter av oppgaver."

$config[zx-auto] not found$config[zx-overlay] not found