Deno 1.0: Node.js veidotājiem ir jauns JavaScript izpildlaiks TypeScript programmēšanas valodai

  • Sep 04, 2023

Servera puses JavaScript izpildlaika Deno versija 1.0 ir pieejama, lai novērstu problēmas ar Node.js.

Plaši izmantotā JavaScript servera puses izpildlaika Node.js veidotāji ir izlaiduši Deno 1.0 — jaunu JavaScript un TypeScript izpildlaiku, kas novērš Node.js "dizaina kļūdas".

Deno JavaScript projektu pēdējos divus gadus ir izstrādājis Node.js veidotājs Raiens Dāls, un viņa līdzstrādnieku komanda tagad ir izlaidusi Deno 1.0, kas varētu kļūt tikpat svarīga kā JavaScript izstrādātājiem Node.js.

Izstrādātājs

  • Tas atkal ir programmēšanas beigas, kā mēs to zinām
  • Izstrādātāji jūtas droši savā darbā, taču viņi joprojām domā par aiziešanu
  • Tīmekļa nākotnei būs nepieciešams cita veida programmatūras izstrādātājs
  • Labākie Linux klēpjdatori patērētājiem un izstrādātājiem

JavaScript ir viena no visplašāk izmantotajām programmēšanas valodām, un tā tiek izmantota katrā ierīcē ar tīmekļa pārlūkprogrammu. Tāpat kā Node.js vai Node, Deno izpildlaiks ir paredzēts JavaScript izpildei ārpus tīmekļa pārlūkprogrammas.

SKATĪT:Sešas pieprasītas programmēšanas valodas: darba sākšana (bezmaksas PDF)

Tomēr atšķirībā no Node.js Deno piedāvā pirmās klases atbalstu Microsoft arvien populārākais Typescript, JavaScript superkopa, kas paredzēta lieliem projektiem.

Deno ir balstīts uz Google Chromium V8 JavaScript dzinēju un rakstīts programmēšanas valodā Rust, nevis C++ for Node.

Papildus problēmu novēršanai ar Node.js, Dāls arī vēlējās, lai Deno rūpētos par to, ka JavaScript mūsdienās ir ļoti atšķirīga valoda nekā 2009. gadā, kad viņš izstrādāja Node. Turklāt Node plašā lietojuma dēļ Node ir kļuvis grūti atjaunināt.

"Mainoties JavaScript valodai un jauniem papildinājumiem, piemēram, TypeScript, Node projektu izveide var kļūt grūts uzdevums centieni, kas ietver veidošanas sistēmu pārvaldību un citus smagnējus rīkus, kas atņem dinamiskas valodas jautrību skriptu veidošana," emuāra ierakstā raksta Dāls līdzautori citi Deno izstrādātāji Bērts Belders un Barteks Ivančuks.

"Turklāt mehānisms saistīšanai ar ārējām bibliotēkām ir pamatā centralizēts, izmantojot NPM repozitorijs, kas neatbilst tīmekļa ideāliem," viņš piebilst, atsaucoties uz Node NPM. iepakojumiem.

Deno kodols ir rakstīts Rust, un Deno 1.0 galvenais komponents ir Deno komandrindas interfeiss (CLI).

Dāls saka, ka Deno nav monolīta programma, bet drīzāk Rust "kastu" kolekcija - pakotnes vai programmatūras bibliotēkas -, kas ļauj integrēt dažādos slāņos. Piemēram, Deno kodola kaste ir Deno "ļoti tukšie kauli", savukārt rusty_v8 kaste nodrošina Rust saistīšanu ar V8 C++ lietojumprogrammu saskarni (API).

"Kaste nodrošina bināros failus, kas ir iebūvēti GitHub Actions CI, taču tas arī ļauj lietotājiem kompilēt V8 no jauna un pielāgot tās daudzās veidošanas konfigurācijas," raksta Dāls.

"Viss V8 pirmkods tiek izplatīts pašā kastē. Visbeidzot, rusty_v8 cenšas būt drošs interfeiss. Tas vēl nav 100% drošs, bet mēs tuvojamies. Spēja drošā veidā mijiedarboties ar tik sarežģītu virtuālo mašīnu kā V8 ir diezgan pārsteidzoša, un tā ir ļāvusi atklāt daudzas sarežģītas kļūdas pašā Deno.

SKATĪT: Programmēšanas valodas Rust pieņemšanas problēma: izstrādātāji atklāj, kāpēc daudzi to neizmanto

Dāls arī uzsver, ka Deno nav Node dakša, bet gan pilnīgi jauna ieviešana, lai gan ar līdzīgiem mērķiem kā Node. Tas arī kopumā nav saderīgs ar NPM. Tomēr Dāls sagaida, ka Deno beidzot varēs palaist vairāk Node programmu.

Pēc Dahl domām, Deno veiktspēja tīmekļa serverī ir aptuveni vienāda ar Node, taču Deno ir labāks latentums nekā Node.

"Hello-world Deno HTTP serveris veic aptuveni 25 000 pieprasījumu sekundē ar maksimālo latentumu 1,3 milisekundes. Salīdzināma Node programma veic 34 000 pieprasījumu sekundē ar diezgan neregulāru maksimālo latentumu no 2 līdz 300 milisekundēm," viņš atzīmē.

Atvērtais avots

GitHub vs GitLab: kura programma jums ir piemērota?
Labākie Linux izplatījumi iesācējiem
Feren OS ir Linux izplatīšana, kas ir tikpat jauka un viegli lietojama
Kā pievienot jaunus lietotājus savai Linux mašīnai
  • GitHub vs GitLab: kura programma jums ir piemērota?
  • Labākie Linux izplatījumi iesācējiem
  • Feren OS ir Linux izplatīšana, kas ir tikpat jauka un viegli lietojama
  • Kā pievienot jaunus lietotājus savai Linux mašīnai