Deno

Wikipediasta
Siirry navigaatioon Siirry hakuun
Deno
Luoja Ryan Dahl
Kehittäjä The Deno Company ja yli 600 muuta
Kehityshistoria
Ensijulkaisu 0.1.0 / 23.8.2018
Vakaa versio 2.1.1 ()
Tiedot
Alusta Linux, macOS, Microsoft Windows
Ohjelmointikielet Rust
Lisenssi MIT
Aiheesta muualla
Verkkosivusto
Versiohallinta

Deno on avoimen lähdekoodin ajoympäristö JavaScript ja TypeScript-ohjelmointikielille sekä WebAssemblylle. Se pohjautuu Googlen V8 JavaScript-moottoriin ja on kehitetty Rust-ohjelmointikielellä. Sen kehitti Ryan Dahl, joka on myös Node.js-ajoympäristön alkuperäinen kehittäjä.[1][2]

Deno julkistettiin vuonna 2018 Ryan Dahlin puheessa "10 Things I Regret About Node.js" (suom. 10 asiaa joita kadun Node.js liittyen).[3]

Deno julkistettiin JSConf EU 2018-konferenssissä, Ryan Dahlin pitäessä puhetta aiheesta "10 Things I Regret About Node.js" (suom. 10 asiaa joita kadun Node.js liittyen).[3]

Deno alun perin kirjoitettiin Go-ohjelmointikielellä, mutta pian projektissa vaihdettiin Rustiin.[4]

Denon virallinen 1.0-versio julkaistiin 13.5.2020.[5]

Denossa on sisäänrakennettu tuki TypeScriptille, eikä ohjelmoijan tarvitse erikseen kääntää lähdekoodia JavaScriptiksi ennen suorittamista.[6]

Denolla ajettavilla sovelluksilla ei vähimpien oikeuksien periaatteen mukaisesti ole oletuksena ole pääsyä tiedostojärjestelmään, internetiin tai ympäristömuuttujiin. Tämä lisää tietoturvallisuutta. Suoritettavalle ohjelmalle voi antaa käyttöoikeuksia rajatusti tarpeen mukaan. Esimerkiksi sovellukselle voi antaa luku- tai kirjoitusoikeuden tietyssä hakemistossa, tai sallia yhteydet ennalta määrättyyn IP-osoitteeseen. Myös pääsyn ympäristömuuttujiin voi antaa muuttujakohtaisesti.[7]

Denon standardikirjastoa kehitetään aktiivisesti, eikä se ole vakaa (engl. stable).[8] Standardikirjasto tarjoaa hyödyllisiä työkaluja mm. tiedostojen käsittelyyn.[9]

Denon omien moduulien lisäksi npm-pakettien käyttö on suoraan mahdollista.[10]

Denon mukana tulee mm. lintteri (deno lint), koodin formatointityökalu (deno fmt), REPL (deno repl) ja LSP-kielipalvelin (deno lsp).[11]

  1. Deno: Secure V8 TypeScript Runtime from Original Node.js Creator InfoQ. Viitattu 10.7.2021. (englanniksi)
  2. Using WebAssembly | Deno Docs docs.deno.com. Viitattu 8.6.2024. (englanniksi)
  3. a b ”10 Things I Regret About Node.js - Ryan Dahl - JSConf EU”. fi-FI
  4. Suggestion: Look into porting to Rust and using Tokio · Issue #205 · denoland/deno GitHub. Viitattu 10.7.2021. (englanniksi)
  5. Deno 1.0 deno.com. Viitattu 10.7.2021. (englanniksi)[vanhentunut linkki]
  6. First Steps | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
  7. Permissions | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
  8. Standard Library | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
  9. @std - JSR jsr.io. Viitattu 7.6.2024. (englanniksi)
  10. Node and npm modules | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
  11. CLI Command Reference | Deno Docs docs.deno.com. Viitattu 9.6.2024. (englanniksi)