Vydání JavaScriptové platformy Deno 1.16

Byl vydán JavaScriptový rámec Deno 1.16, určený pro samostatné provádění (bez použití prohlížeče) aplikací napsaných v jazycích JavaScript a TypeScript. Projekt je vyvíjen autorem Node.js Ryanem Dahlem. Kód rámce je napsán v programovacím jazyce Rust a je distribuován pod licencí MIT. Hotové sestavení je připraveno pro Linux, Windows a macOS.

Projekt je podobný platformě Node.js a také využívá JavaScriptový engine V8, nicméně podle autora Node.js napravuje některé architektonické chyby svého předchůdce a odlišuje se následujícími prvky:

  • Použití Rust jako hlavního jazyka, což podle vývojářů snižuje riziko vzniku zranitelností spojených s nízkoúrovňovým zacházením s pamětí (přetečení bufferu, use-after-free atd.);
  • Deno nepoužívá správce balíčků npm a package.json, nabízející uživateli instalaci modulů pomocí URL nebo cesty k modulu pro instalaci. Přesto projekt nabízí několik utilit pro usnadnění práce s externími moduly;
  • Aplikace se spouštějí izolovaně v pískovištích a nemají přístup k síti, proměnným prostředí a souborovému systému bez explicitně udělených oprávnění;
  • Architektura navrhuje možnost vytváření univerzálních webových aplikací, které mohou pracovat jak v systému Deno, tak v běžném prohlížeči;
  • Použití „ES Modules“ a absence podpory require();
  • Jakékoli nezpracované chyby programátora ve webové aplikaci vedou k jejímu nucenému ukončení;
  • Podpora TypeScript kromě JavaScriptu;
  • Celková velikost připravené platformy je 84 MB (v zip archivu — 31 MB) ve formě jednoho spustitelného souboru;
  • Součástí je systém pro řešení závislostí a formátování kódu;
  • Zaměřit se na vysoce výkonné aplikace.

Dino zpracovává požadavky v neblokujícím režimu s využitím platformy Tokio, určené pro vytváření vysoce výkonných aplikací na základě událostmi řízené (event-driven) architektury. Zajímavé je, že vestavěný HTTP server Deno je implementován na TypeScriptu na základě nativních TCP socketů, což pozitivně ovlivňuje výkon síťových operací.

Ve nové verzi jsou uvedeny:

  • Optimalizace výkonu (4 opravy);
  • Oprava více než 15 chyb, zejména nyní klient TLS podporuje HTTP/2, podpora pro kódování zahrnuje další kódovací značky atd.;
  • Více než dvě desítky novinek, mezi něž patří stabilizace dříve testovaných subsystémů Deno.startTls a Deno.TestDefinition.permissions, aktualizace JavaScriptového enginu V8 na verzi 9.7 a podpora transformací React 17 JSX.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster