Проект Deno развивает защищённую JavaScript-платформу, похожую на Node.js

Elérhető a projekt kiadása Deno 0.33, amely egy Node.js-hez hasonló platform az alkalmazások elkülönített végrehajtásához JavaScript és TypeScript nyelven, amely lehetővé teszi a böngészőtől független alkalmazások futtatását, például a szerveroldali kezelők létrehozását. A Deno a JavaScript motorját használja V8, amelyet a Node.js és a Chromium-alapú böngészők is alkalmaznak. A projekt kódja terjesztésre kerül MIT licenc alatt áll. A projektet Ryan Dahl fejleszti (Ryan Dahl), a JavaScript platform, a Node.js létrehozója.

A JavaScript új runtime-jának létrehozásának egyik fő célja a biztonságosabb környezet biztosítása. A V8 motor körüli burkolat Rust nyelven készült, ami elkerüli a memória kezelésével kapcsolatos alacsony szintű hibákból adódó sebezhetőségeket, mint például a már felszabadított memória területekhez való hozzáférés, a null pointerek dereferálása és a pufferek túlcsordulása. A kérések nem blokkoló feldolgozására Tokio, amely lehetővé teszi az eseményalapú architektúrára épülő, magas teljesítményű alkalmazások létrehozását, amelyek támogatják a több szálas feldolgozást és az aszinkron hálózati kéréskezelést.

Fő jellemzői Deno:

  • a biztonságra összpontosítva az alapértelmezett konfigurációban. A fájlokhoz való hozzáférés, a hálózati lehetőségek és a környezeti változókhoz való hozzáférés alapértelmezés szerint blokkolva van, és kifejezett engedélyezést igényel;
  • a JavaScript mellett a TypeScript nyelv beépített támogatása;
  • A runtime egy önálló végrehajtható fájl formájában érkezik („deno”). Az alkalmazások Deno segítségével történő indításához elegendő letölthető. a platform számára egy önálló futtatható fájl, körülbelül 10 MB méretű, külső függőségek nélkül, amely nem igényel külön telepítést a rendszeren;
  • A program indításához, valamint a modulok betöltéséhez URL-alapú címzést lehet használni. Például a welcome.js program elindításához a következő parancsot használhatja: „deno https://deno.land/std/examples/welcome.js”. A külső forrásokból származó kódot letöltik és a helyi rendszeren gyorsítótárazva tárolják, de soha nem frissül automatikusan (frissítéshez kifejezetten el kell indítani az alkalmazást a „—reload” kapcsolóval);
  • Hatékony HTTP hálózati kérések kezelése az alkalmazásokban, a platform a nagy teljesítményű hálózati alkalmazások készítésére lett tervezve;
  • Lehetőség univerzális webalkalmazások létrehozására, amelyek Deno-ban és a hagyományos webböngészőben is futtathatók;
  • A Deno runtime platform also acts as a package manager and allows referencing modules by URL within the code. For example, to load a module you can specify in the code 'import * as log from "https://deno.land/std/log/mod.ts"'. Files downloaded from external servers via URL are cached. Version binding of modules is determined by specifying version numbers within the URL, for instance, "https://unpkg.com/liltest@0.0.5/dist/liltest.js";
  • az integrált rendszer tartalmazza a függőségek ellenőrző rendszerét (a „deno info” parancsot) és egy kódfelhzámlálási segédprogramot (deno fmt).
  • alkalmazásfejlesztők számára ajánlott egy sor standard modulot, amelyeken további audit és kompatibilitási ellenőrzés történt;
  • All application scripts can be combined into a single JavaScript file.

Differences from Node.js:

  • Deno does not use the npm package manager
    and does not rely on repositories; module addressing is done via URL or file paths, and modules can be hosted on any site;
  • Deno does not use 'package.json' to define modules;
  • Different API: all asynchronous actions in Deno return a promise;
  • Deno requires explicit definition of all necessary permissions for files, network, and environment variables;
  • All unhandled errors lead to the termination of the application;
  • A Deno az ECMAScript modul rendszerét használja, és a require() nem támogatott.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster