Ohjelmointi

Deno 1.0 saapuu haastamaan Node.js

Deno, JavaScript / TypeScript-ajonaika, joka lupaa Node.js: lle parempaa suojausta ja ylivertaista kehittäjäkokemusta, saavutti 1.0-julkaisutilan 13. toukokuuta 2020.

Luonut Ryan Dahl, joka loi myös Node.js: n, Deno on suunniteltu korjaamaan useita solmun puutteita, erityisesti tietoturvaa. (Deno on Nodgen anagrammi.) Hanke tuli julkiseksi noin kaksi vuotta sitten.

Toisin kuin Solmu, Deno ei käytä NPM-paketinhallintaa; sen sijaan se lataa moduulit viittaamalla URL-osoitteisiin tai tiedostopolkuihin. Denon takana on palvella tuottavaa, turvallista komentosarjaympäristöä nykyaikaiselle ohjelmoijalle. Se voi korvata apuohjelmat, jotka on ehkä kirjoitettu Pythonissa tai Bashissa. Ohjeet Denon asentamiseen löydät osoitteesta deno.land.

Denon kohokohtia ovat:

  • Deno on ajonaikainen JavaScriptien ja TypeScriptin suorittaminen selaimen ulkopuolella yhdessä suoritettavassa tiedostossa (denocode).
  • Deno on oletusarvoisesti suojattu, eikä sillä ole tiedostoja, verkkoa tai ympäristöä, ellei sitä ole erikseen sallittu.
  • Deno kuolee kiinni jääneistä virheistä.
  • Kaikki Denon asynkroniset toimet antavat lupauksen.
  • Deno-komentosarjat voidaan niputtaa yhdeksi JavaScript-tiedostoksi.
  • Denolla on sisäänrakennettu riippuvuustarkastaja (deno-infokoodi) ja koodin muotoilija.
  • Deno tarjoaa joukon tarkastettuja standardimoduuleja.
  • Deno on suunniteltu sarjaksi Rust-laatikoita integroinnin mahdollistamiseksi eri kerroksille.

Selittäessään Denon syitä Dahl ja avustajat Bartuk Iwanczuk ja Bert Belder kirjoittivat blogikirjoituksessaan, että vaikka JavaScript on luonnollinen valinta dynaamisille kielityökaluille, Node suunniteltiin vuonna 2009, kun JavaScript oli paljon erilainen kieli. Seurauksena on, että sovellusten rakentaminen Solmulle voi olla hankalaa.

"Mielestämme JavaScriptin ja sitä ympäröivän ohjelmistoinfrastruktuurin maisema on muuttunut tarpeeksi, jotta sitä kannattaa yksinkertaistaa", Denon luojat kirjoittivat. "Etsimme hauskaa ja tuottavaa komentosarjaympäristöä, jota voidaan käyttää monenlaisiin tehtäviin."