Programmēšana

Deno 1.0 ierodas, lai izaicinātu Node.js

Deno, JavaScript / TypeScript izpildlaiks, kas sola lielāku drošību un izcilu izstrādātāja pieredzi Node.js, sasniedza 1.0 izlaišanas statusu 2020. gada 13. maijā.

Deno izveidoja Raiens Dāls, kurš arī izveidoja Node.js, un Deno tika izstrādāts, lai novērstu vairākus Node trūkumus, īpaši drošību. (Deno ir Node anagramma.) Projekts kļuva publisks aptuveni pirms diviem gadiem.

Atšķirībā no mezgla, Deno neizmanto NPM pakotņu pārvaldnieku; tā vietā tas ielādē moduļus, atsaucoties uz vietrāžiem URL vai failu ceļiem. Deno filozofija ir kalpot kā produktīva, droša skriptu vide mūsdienu programmētājam. Tas var aizstāt lietderības skriptus, kas, iespējams, ir rakstīti Python vai Bash. Norādījumus par Deno instalēšanu var atrast vietnē deno.land.

Svarīgākie no Deno ietver:

  • Deno ir izpildlaiks, lai JavaScript un TypeScript izpildītu ārpus pārlūkprogrammas vienā izpildāmajā failā (denocode).
  • Deno pēc noklusējuma ir drošs, bez piekļuves failiem, tīklam vai videi, ja vien tas nav skaidri iespējots.
  • Deno mirst no nenotvertām kļūdām.
  • Visas asinhronās darbības Deno sniedz solījumu.
  • Deno skriptus var apvienot vienā JavaScript failā.
  • Deno ir iebūvēts atkarības inspektors (deno infokods) un koda formatētājs.
  • Deno nodrošina pārbaudītu standarta moduļu komplektu.
  • Deno tika veidots kā Rust redeļu virkne, kas ļauj integrēt dažādos slāņos.

Skaidrojot Deno iemeslus, Dāls un līdzautori Bartuks Ivanczuks un Berts Belderis bloga ierakstā rakstīja, ka, lai gan JavaScript ir dabiska izvēle dinamisku valodas rīku izmantošanai, mezgls tika izveidots 2009. gadā, kad JavaScript bija daudz atšķirīga valoda. Rezultātā lietojumprogrammu veidošana mezglā var būt grūts darbs.

"Mēs uzskatām, ka JavaScript un apkārtējās programmatūras infrastruktūras ainava ir pietiekami mainījusies, ka to bija vērts vienkāršot," raksta Deno veidotāji. "Mēs meklējam jautru un produktīvu skriptu vidi, kuru var izmantot visdažādākajiem uzdevumiem."

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