Projekt Deno razvija varno platformo JavaScript, podobno Node.js

Na voljo izdaja projekta Daj mi 0.33, ki ponuja platformo, podobno Node.js, za samostojno izvajanje aplikacij v JavaScriptu in TypeScriptu, ki se lahko uporablja za izvajanje aplikacij, ne da bi bili vezani na brskalnik, kot je ustvarjanje upravljavcev, ki se izvajajo na strežniku. Deno uporablja motor JavaScript V8, ki se uporablja tudi v Node.js in brskalnikih, ki temeljijo na projektu Chromium. Koda projekta distributer pod licenco MIT. Projekt razvija Ryan Dahl (Ryan Dahl), ustvarjalec platforme Node.js JavaScript.

Eden glavnih ciljev ustvarjanja novega izvajalnega okolja za JavaScript je zagotoviti bolj varno okolje. Za izboljšanje varnosti je motor V8 napisan v Rustu, s čimer se izogne ​​številnim ranljivostim, ki izhajajo iz manipulacije pomnilnika na nizki ravni, kot so dostop po brezplačnem dostopu, dereferenciranje ničelnega kazalca in prekoračitev medpomnilnika. Platforma se uporablja za obdelavo zahtevkov v načinu brez blokiranja Tokio, napisano tudi v Rust. Tokio vam omogoča ustvarjanje visoko zmogljivih aplikacij, ki temeljijo na arhitekturi, ki temelji na dogodkih, podpira večnitnost in obdelavo omrežnih zahtev v asinhronem načinu.

Glavni funkcije Deno:

  • Varnostno usmerjena privzeta konfiguracija. Dostop do datotek, mreženje in dostop do spremenljivk okolja so privzeto onemogočeni in morajo biti izrecno omogočeni;
  • Vgrajena podpora za jezik TypeScript poleg JavaScripta;
  • Runtime je v obliki ene same samostojne izvedljive datoteke (»deno«). Za zagon aplikacij z uporabo Deno je dovolj naloži za svojo platformo ena izvedljiva datoteka, velika približno 10 MB, ki nima zunanjih odvisnosti in ne zahteva posebne namestitve v sistem;
  • Pri zagonu programa in pri nalaganju modulov lahko uporabite naslavljanje URL. Če želite na primer zagnati program welcome.js, lahko uporabite ukaz »deno https://deno.land/std/examples/welcome.js«. Koda iz zunanjih virov se prenese in shrani v predpomnilnik v lokalnem sistemu, vendar se nikoli samodejno ne posodobi (posodabljanje zahteva eksplicitno izvajanje aplikacije z zastavico »--reload«);
  • Učinkovita obdelava omrežnih zahtev prek HTTP v aplikacijah, platforma je zasnovana za ustvarjanje visoko zmogljivih omrežnih aplikacij;
  • Sposobnost ustvarjanja univerzalnih spletnih aplikacij, ki jih je mogoče izvajati tako v Denu kot v običajnem spletnem brskalniku;
  • Poleg izvajalnega okolja platforma Deno deluje tudi kot upravitelj paketov in omogoča dostop do modulov prek URL-ja znotraj kode. Če želite na primer naložiti modul, lahko v kodi podate »uvoz * kot dnevnik iz »https://deno.land/std/log/mod.ts«. Datoteke, prenesene z zunanjih strežnikov prek URL-ja, so shranjene v predpomnilniku. Vezava na različice modula je določena z navedbo številk različic znotraj URL-ja, na primer »https://unpkg.com/[e-pošta zaščitena]/dist/liltest.js";
  • Struktura vključuje integriran sistem pregledovanja odvisnosti (ukaz »deno info«) in pripomoček za oblikovanje kode (deno fmt).
  • Za razvijalce aplikacij predlagano nabor standardnih modulov, ki so bili podvrženi dodatni reviziji in testiranju združljivosti;
  • Vse skripte aplikacij je mogoče združiti v eno datoteko JavaScript.

Razlike od Node.js:

  • Deno ne uporablja upravitelja paketov npm
    in ni vezan na repozitorije, moduli so naslovljeni prek URL-ja ali poti do datoteke, sami moduli pa se lahko postavijo na katero koli spletno mesto;

  • Deno ne uporablja "package.json" za definiranje modulov;
  • API razlika, vsa asinhrona dejanja v Denu vrnejo obljubo;
  • Deno zahteva eksplicitno opredelitev vseh potrebnih dovoljenj za datoteke, omrežne in okoljske spremenljivke;
  • Vse napake, ki niso zagotovljene z obdelovalci, vodijo do prekinitve aplikacije;
  • Deno uporablja sistem modulov ECMAScript in ne podpira zahteva().

Vir: opennet.ru

Dodaj komentar