Projekt Deno vyvíjí zabezpečenou platformu JavaScript podobnou Node.js

Dostupný vydání projektu Dej mi 0.33, která nabízí platformu podobnou Node.js pro spouštění samostatných aplikací v JavaScriptu a TypeScriptu, kterou lze použít ke spouštění aplikací bez vazby na prohlížeč, jako je vytváření obslužných programů, které běží na serveru. Deno používá JavaScript engine V8, který se používá také v Node.js a prohlížečích založených na projektu Chromium. Kód projektu distribuovány pod licencí MIT. Projekt vyvíjí Ryan Dahl (Ryan Dahl), tvůrce platformy JavaScript Node.js.

Jedním z hlavních cílů vytvoření nového běhového prostředí pro JavaScript je poskytnout bezpečnější prostředí. Pro zlepšení zabezpečení je V8 engine napsán v Rustu, který se vyhýbá mnoha zranitelnostem, které vyplývají z nízkoúrovňové manipulace s pamětí, jako je after-free přístup, dereference nulového ukazatele a přetečení vyrovnávací paměti. Platforma se používá ke zpracování požadavků v neblokujícím režimu Tokio, také psaný v Rust. Tokio vám umožňuje vytvářet vysoce výkonné aplikace založené na architektuře řízené událostmi, podporující multi-threading a zpracování síťových požadavků v asynchronním režimu.

hlavní Rysy Deno:

  • Výchozí konfigurace zaměřená na zabezpečení. Přístup k souborům, síťování a přístup k proměnným prostředí jsou ve výchozím nastavení zakázány a musí být explicitně povoleny;
  • Vestavěná podpora pro jazyk TypeScript kromě JavaScriptu;
  • Runtime přichází ve formě jediného samostatného spustitelného souboru („deno“). Pro spouštění aplikací pomocí Deno to stačí nahrát pro její platformu jeden spustitelný soubor o velikosti asi 10 MB, který nemá žádné externí závislosti a nevyžaduje žádnou speciální instalaci do systému;
  • Při spouštění programu, stejně jako pro načítání modulů, můžete použít URL adresování. Například ke spuštění programu welcome.js můžete použít příkaz „deno https://deno.land/std/examples/welcome.js“. Kód z externích zdrojů se stahuje a ukládá do mezipaměti v místním systému, ale nikdy se automaticky neaktualizuje (aktualizace vyžaduje explicitní spuštění aplikace s příznakem „--reload“);
  • Efektivní zpracování síťových požadavků přes HTTP v aplikacích, platforma je určena pro tvorbu vysoce výkonných síťových aplikací;
  • Schopnost vytvářet univerzální webové aplikace, které lze spouštět jak v Deno, tak v běžném webovém prohlížeči;
  • Kromě běhového prostředí funguje platforma Deno také jako správce balíčků a umožňuje přístup k modulům pomocí URL adresy v rámci kódu. Například pro načtení modulu můžete v kódu zadat „import * as log from “https://deno.land/std/log/mod.ts”. Soubory stažené z externích serverů prostřednictvím URL se ukládají do mezipaměti. Propojení s verzemi modulů je určeno zadáním čísel verzí uvnitř URL, například „https://unpkg.com/liltest@0.0.5/dist/liltest.js“;
  • Struktura zahrnuje integrovaný systém kontroly závislostí (příkaz „deno info“) a nástroj pro formátování kódu (deno fmt).
  • Pro vývojáře aplikací navržený sada standardních modulů, které prošly dodatečným auditem a testováním kompatibility;
  • Všechny aplikační skripty lze sloučit do jednoho souboru JavaScript.

Rozdíly od Node.js:

  • Deno nepoužívá správce balíčků npm
    a není vázán na úložiště, moduly jsou adresovány přes URL nebo cestou k souboru a samotné moduly lze umístit na jakoukoli webovou stránku;
  • Deno nepoužívá "package.json" k definování modulů;
  • Rozdíl API, všechny asynchronní akce v Deno vrátí slib;
  • Deno vyžaduje explicitní definici všech nezbytných oprávnění pro soubory, sítě a proměnné prostředí;
  • Všechny chyby, které nejsou poskytnuty obslužným rutinám, vedou k ukončení aplikace;
  • Deno používá modulový systém ECMAScript a nepodporuje require().

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster