Deno | |
---|---|
![]() | |
Luoja | Ryan Dahl |
Kehittäjä | The Deno Company ja yli 600 muuta |
Kehityshistoria | |
Ensijulkaisu | 0.1.0 / 23.8.2018 |
Vakaa versio | 2.2.4 () |
Tiedot | |
Alusta | Linux,macOS,Microsoft Windows |
Ohjelmointikielet | Rust |
Lisenssi | MIT |
Aiheesta muualla | |
Verkkosivusto | |
Versiohallinta | |
Infobox OK |
Deno onavoimen lähdekoodin ajoympäristöJavaScript jaTypeScript-ohjelmointikielille sekäWebAssemblylle. Se pohjautuuGooglenV8 JavaScript-moottoriin ja on kehitettyRust-ohjelmointikielellä. Sen kehittiRyan Dahl, joka on myösNode.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 kirjoitettiinGo-ohjelmointikielellä, mutta pian projektissa vaihdettiinRustiin.[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 eivähimpien oikeuksien periaatteen mukaisesti ole oletuksena ole pääsyätiedostojärjestelmään,internetiin taiympä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ättyynIP-osoitteeseen. Myös pääsyn ympäristömuuttujiin voi antaa muuttujakohtaisesti.[7]
Denonstandardikirjastoa 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äksinpm-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]