Deno
Deno | |
---|---|
![]() | |
Luoja | Ryan Dahl |
Kehittäjä | The Deno Company ja yli 600 muuta |
Kehityshistoria | |
Ensijulkaisu | 0.1.0 / 23.8.2018 |
Vakaa versio | 1.45.2 () |
Tiedot | |
Alusta | Linux, macOS, Microsoft Windows |
Ohjelmointikielet | Rust |
Lisenssi | MIT |
Aiheesta muualla | |
Verkkosivusto | |
Versiohallinta | |
Infobox OK |
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]
Historia
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]
Ominaisuudet
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]
Lähteet
- ↑ Deno: Secure V8 TypeScript Runtime from Original Node.js Creator InfoQ. Viitattu 10.7.2021. (englanniksi)
- ↑ Using WebAssembly | Deno Docs docs.deno.com. Viitattu 8.6.2024. (englanniksi)
- ↑ a b ”10 Things I Regret About Node.js - Ryan Dahl - JSConf EU”. fi-FI
- ↑ Suggestion: Look into porting to Rust and using Tokio · Issue #205 · denoland/deno GitHub. Viitattu 10.7.2021. (englanniksi)
- ↑ Deno 1.0 deno.com. Viitattu 10.7.2021. (englanniksi)[vanhentunut linkki]
- ↑ First Steps | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
- ↑ Permissions | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
- ↑ Standard Library | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
- ↑ @std - JSR jsr.io. Viitattu 7.6.2024. (englanniksi)
- ↑ Node and npm modules | Deno Docs docs.deno.com. Viitattu 7.6.2024. (englanniksi)
- ↑ CLI Command Reference | Deno Docs docs.deno.com. Viitattu 9.6.2024. (englanniksi)