Доступна платформа Deno 2.0, развиваемая автором Node.js

Megjelent a Deno 2.0 platform, amelyet a JavaScript és TypeScript nyelven írt szerveralkalmazások elkülönített futtatására terveztek, a Chromium alapú böngészőkben használt V8 motor segítségével. A Deno projektet Ryan Dahl, a Node.js megalkotója fejleszti, célja egy biztonságosabb környezet nyújtása és a Node.js architektúrájában elkövetett koncepcionális hibák kiküszöbölése. A biztonság növelése érdekében a V8 motor körüli keretrendszer Rust nyelven készült, a nem blokkoló kéréskezelés pedig a Tokio platformot használja. A projekt kódját MIT licenc alatt terjesztik. A build-ek Linux, Windows és macOS rendszerekhez készültek.

Az új ágazat előkészítése során a régi JavaScript infrastruktúrával való kompatibilitásra és a támogatott JavaScript projektek spektrumának bővítésére összpontosítottak, anélkül, hogy a biztonság rovására ment volna. A változások között szerepel:

  • Megvalósították a Node.js és npm hátrafelé kompatibilitását, lehetővé téve a módosítatlan Node.js-re készült alkalmazások futtatását. A Node.js támogatása lehetővé teszi a meglévő projekteket fokozatosan átkonvertálni Deno használatára, vagy csatlakoztatni NPM-ből származó függőségeket Deno projektekhez a «npm:» specifikátor megadásával a csomagok deno.json-ból való importálásakor.
  • Beépített támogatást kaptak a package.json fájl és a node_modules könyvtár számára, amelyeket a Node.js használ.
  • Támogatást nyújtanak a privát NPM tárolók számára, amelyeket a «.npmrc» fájlok határoznak meg.
  • Támogatják a népszerű JavaScript keretrendszereket, mint például a Next.js, Astro, Remix, Angular, SvelteKit és QwikCity.
  • Bevezették a npm (workspace) munkahelyek és a mono-tárolók (monorepo) támogatását az elkülönített függőségkezeléssel.
  • Új csomagkezelő parancsokat vezettek be: «deno install» a függőségek telepítésére, «deno add» csomagok hozzáadására a package.json-ba vagy deno.json-ba, «deno remove» csomagok eltávolítására. Megjegyzik, hogy a «deno install» körülbelül 15%-kal gyorsabb, mint az npm, ha nincsenek csomagok a gyorsítótárban, és 90%-kal gyorsabb, ha a csomag a gyorsítótárban van (támogatja mind a node_modules-t, mind a saját globális gyorsítótárat).
  • A szabványos könyvtár stabilizálva lett.
  • Hosszú távú támogatási ciklus (LTS) biztosítva van.
  • Bemutatták a JSR-t — egy JavaScript és TypeScript könyvtárakat tartalmazó tárolót, amelyeket különböző JavaScript Runtime-okban lehet használni.
  • A «deno fmt» csapatban lehetőség nyílt HTML, CSS és YAML formátumokban lévő tartalom formázására.
  • A „deno lint” parancshoz hozzáadták a Node.js-specifikus szabályok és javítások támogatását.
  • A „deno test” parancsban lehetőség nyílik a node:test segítségével létrehozott tesztek futtatására.
  • A „deno task” parancs támogatja a szkriptek futtatását a package.json segítségével.
  • A „deno compile” parancsban most már lehetséges a kód digitális aláírással való hitelesítése.
  • A „deno serve” parancsban megvalósították a HTTP-szerver műveletek párhuzamosítását több CPU-mag használatával.
  • A „deno coverage” parancsban megjelent a jelentések HTML formátumban való mentésének támogatása.
  • Teljesítményoptimalizálás történt.
    Доступна платформа Deno 2.0, развиваемая автором Node.js

A Deno főbb jellemzői:

  • Az alapértelmezett konfiguráció biztonságorientált. A fájlokkal való kapcsolatok, a hálózati lehetőségek és az alapértelmezett környezeti változókhoz való hozzáférés blokkolva van, és kifejezett engedélyezést igényel. Az alapértelmezett alkalmazások izolált sandbox környezetben futnak, és nem férhetnek hozzá a rendszer funkcióihoz kifejezett jogosultságok biztosítása nélkül;
  • A JavaScript mellett a TypeScript nyelv beépített támogatása. A típusellenőrzéshez és JavaScript generálásához a natív TypeScript fordítót használják, ami teljesítménycsökkenést eredményez a JavaScript V8-as elemzéséhez képest;
  • 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ő futtatásához elegendő egy végrehajtható fájlt letölteni a saját platformunkhoz, amely körülbelül 40 MB méretű, nincs külső függősége és nem igényel különösebb telepítést a rendszerbe. A deno nem egy monolitikus alkalmazás, hanem Rustban írt crate-csomagok gyűjteménye (deno_core, rusty_v8), amelyek külön-külön is felhasználhatók;
  • 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;
  • Alapvető modulok standard készlete, amelyek használata nem igényel külső függőségekhez való kötődést. A standard gyűjtemény moduljai további auditáláson és kompatibilitási ellenőrzésen estek át;
  • A runtime-on kívül a Deno platform csomagkezelő szerepet is betölt, lehetővé téve a modulok URL-en keresztüli elérését a kódban. Például egy modul betöltéséhez a kódban megadható a következő: „import * as log from „https://deno.land/std/log/mod.ts”. A külső URL-en betöltött fájlok gyorsítótárba kerülnek. szerverek A modulok verziókkal való kötődése a URL-en belül megadott verziószámok által történik, például „https://unpkg.com/liltest@0.0.5/dist/liltest.js”;
  • A Web szabványok használatára való orientáció, Promise, fetch és ECMAScript modulok támogatása.
  • Kompatibilitás az NPM tárolóban elhelyezett és Node.js platformra készült csomagokkal.
  • The integrated system includes a dependency inspection tool (the 'deno info' command) and a code formatting utility (deno fmt);
  • Az összes alkalmazáskód egyetlen JavaScript fájlba egyesíthető.

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