Node.js uppfinningamaður Ryan Dahl gefur út Deno: TypeScript / V8 Runtime Environment

Google V8 JavaScript Runtime Engine + TypeScript: endurbætur á Node.js netþjóninum


Node.js vefmiðlarinn var kynntur árið 2009 af Ryan Dahl og hefur í kjölfarið orðið stór þáttur í nútíma JavaScript þróunarbrautum. Apache netþjónar virka á grundvelli snittinna ferla en Node.js netþjónar starfa með atburðarlykkjur. Með mörgum notendum samtímis verður snittari samsöfnun "lekur" á Apache, á meðan Node.js netþjónar nota svarhringingu til að útrýma biðtímum fyrir mjög hratt samhliða tíðni. JavaScript starfar með hönnun á grundvelli atburðarlykkja sem Dahl umritaði í afturkreyringarumhverfi miðlarans til að byggja upp netþjóninn með I / O beiðni vinnslukerfisins sem ekki er hindrað. Þetta gerir Node.js forritunarforritum kleift að skrifa mjög samhliða forrit á sama vélbúnað sem streyma gögn með hraðari hraða en styðja einnig TCP, DNS, & HTTP án Apache. Notkun klipptra beiðna / svara, halda áfram að lifa og kunnuglegum API sem starfa á óháðan hátt á vettvang hefur leitt til velgengni Node.js sem netþjónnastaðals, þó að það feli einnig í sér Python-ósjálfstæði. Tæpum 10 árum síðar hefur Dahl endurbyggt mistökin sem enn eru til staðar í Node.js til að hefja nýjan vettvang skrifaðan í Rust / Go sem vinnur með TypeScript & Google V8 afturkreifingarvélin í öruggu sandkassaumhverfi.

Deno 2018: Experimental, Developmental, & Takmarkast við TypeScript stuðning

Fyrsta útgáfan af Deno árið 2018 vakti mikla jákvæða athygli í JavaScript þróunarsamfélaginu vegna þess að það var fundið upp af upprunalega skaparanum Node.js. Dahl kynnti málstofu á JavaScript ráðstefnunni JSConf.EU 2018 sem bar yfirskriftina "10 hlutum sem ég harma varðandi Node.js". Dahl harmaði að ekki sé lengur hægt að breyta mörgum af skipulagsmálum sem hann hefur fundið í umgjörðinni vegna þess að svo mörg mismunandi JavaScript verkefni eru byggð á Node.js grunni eins og nú er hannað. Frá þessari tvöföldu framkvæmd fór Dahl að kóða beta útgáfu af Deno.

“Að nota hnút er mér eins og neglur á töflunni. Ég sé galla sem ég kynnti sem eru’T raunverulega galla á þessum tímapunkti þeir’ert bara hvernig það virkar en það eru galla og það voru gerð mistök við hönnun sem er bara ekki hægt að leiðrétta núna vegna þess að þar’er svo mikill hugbúnaður sem notar hann.”

Dahl varði að sögn 2017 sem meðlimur í Google Brain Residency Program í að vinna með TensorFlow og málefni sem tengjast myndvinnslu. Til að skilja breytinguna á sjónarhorni varðandi Node.js pallinn er mælt með því að bera saman myndböndin tvö:

Ryan Dahl: Original Node.js kynning (2009)

  • "…V8: Google
  • libev: bókasafn fyrir atburðarás
  • libeio: þráður laug bókasafn
  • http-þáttur: ragel HTTP-þáttur
  • evcom: streyma fals bókasafn ofan á libev
  • ungbarn: DNS-leysir sem ekki hindrar…"

Frekari upplýsingar um hönnun upprunalega Node.js vefþjónsins.

10 hlutum sem ég harma um Node.js – Ryan Dahl – JSConf EU (2018)

  • "Styður TypeScript úr kassanum.
  • Notar nýlega útgáfu af V8.
  • Enginn pakki.json.
  • Engin nm.
  • Ekki sérstaklega samhæft við hnút.
  • Flytur eingöngu inn tilvísunarheimildarkóða.
  • Hægt er að stjórna skráarkerfi og netaðgangi til að keyra sandkassa kóða.
  • Einn keyranlegur."

Frekari upplýsingar um Deno: Öruggur TypeScript afturkreistingur byggður á V8.

Vandamál í Node.js: Veföryggi, mát, Index.js, & byggingarferlið

Í kynningu á Deno á JSConf.EU viðburðinum lýsti Dahl yfir uppgötvuninni "JavaScript á netþjóni krafðist atburðarlykkju til að ná árangri" var stærsti hluti Node.js sem var notaður víða í upplýsingatækni. Dahl yfirgaf Node.js verkefnið árið 2012 eftir bókunum fyrir HTTP & Komið var á fót SSL stuðningi. Á þeim tíma var Node.js með lítinn kjarna, Windows Server stuðning og stöðugt kerfaskil API, auk vaxandi vistkerfis ytri eininga í gegnum NPM. Undanfarna 6 mánuði byrjaði Dahl aftur á erfðaskrá á vettvang með mismunandi markmiðum.

Hvað varðar eftirsjá vegna Node.js netþjónnverkefnisins sagði Dahl:

  • eftirsjá: engin notkun loforða um asynch / bíða
  • sjá eftir: veföryggi, skrifleyfi, & skráaraðgang
  • sjá eftir: byggja kerfið (GYP / GN / Python)
    —> betra hefði verið Foreign Function Interface (FFI)
  • sjá eftir: JSON & NPM miðlæg geymslugeymsla
  • sjá eftir: hnúturinn er of þungur & oft krafist án framlengingarinnar
  • sjá eftir: Index.js flækir hleðslukerfið fyrir einingar & óhóflega "sæt"

Í heildina viðurkenndi Dahl að honum líki enn Node.js, I / O uppbyggingin, & forritun á pallinum, en byggði Deno afturkreistingarumhverfi til að takast á við þessi eftirsjá með nýrri vöru.

Settu upp Deno með Bash:

alias file_server ="deno \

https://deno.land/x/net/file_server.ts –allow-net"

Uppfærðu í síðustu útgáfu af Deno:

file_server – endurhlaða

Frekari upplýsingar um Deno Web Server Runtime umhverfi fyrir TypeScript.

Deno: Major Product Watch fyrir Node.js, JavaScript, & TypeScript stuðningur

Deno notar JavaScript sem öruggan sandkassa og gerir notendum kleift að velja sér öruggt net á afturköllun. Það leyfir ekki að handahófskenndar innfæddar aðgerðir séu bundnar í V8. Í staðinn eru öll kerfissímtöl gerð með skilaboðum sem berast. Deno styður nú ekki eindrægni við aðrar Node.js einingar, með áherslu í staðinn eingöngu á TypeScript stuðning. Öll innflutt skrá verður að þurfa viðbót & notaðu V8 skyndimynd til að fá hraðari byrjunartíma við samantekt. Dahl er sem stendur að forrita Deno í C ++, Go, & Ryð. Margar framfarirnar & Breytingar kynntar af Deno hafa góða möguleika á að taka aftur inn í Node.js verkefnið að lokum. Deno er mikilvægt verkefni til að horfa til framtíðar JavaScript, TypeScript, & Node.js þróun.

Hnútur EventMachine :: hlaupa (): "Sem ósamstilltur atburðaknúinn JavaScript afturkreistingur er hnútinn hannaður til að byggja stigstærð netforrit … Þetta er í mótsögn við algengara líkanslíkan nútímans þar sem OS-þræðir eru notaðir. Þráðbundið net er tiltölulega óhagkvæmt og mjög erfitt í notkun. Ennfremur eru notendur Node lausir við áhyggjur af því að loka ferlinu þar sem það eru engir lokkar. Næstum engin aðgerð í hnút sinnir I / O beint, þannig að ferlið hindrar aldrei. Þar sem ekkert hindrar eru stigstærð kerfi mjög sanngjörn til að þróa í hnút … Hnútur er svipaður í hönnun og undir áhrifum af kerfum eins og Ruby’s Event Machine eða Python Twisted. Hnút tekur atburðaríkan aðeins lengra. Það býður upp á atburðarlykkju sem afturkreistingur smíða í stað bókasafns." Frekari upplýsingar um Node.js.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me