Megjelent a Deno 1.16 JavaScript platform, amelyet JavaScript és TypeScript nyelven írt alkalmazások önálló futtatására (böngésző használata nélkül) terveztek. A projektet a Node.js szerzője, Ryan Dahl fejleszti. A platform kódja a Rust programozási nyelven íródott, és az MIT licenc alatt kerül terjesztésre. A kész összeállítások Linux, Windows és macOS számára készültek.
A projekt hasonló a Node.js platformhoz, és hozzá hasonlóan a V8 JavaScript motort használja, azonban a Node.js szerzője szerint számos elődjének építészeti hibáját javítja, és a következő árnyalatokban tér el tőle. :
- A Rust használata fő nyelvként, ami a fejlesztők szerint csökkenti az alacsony szintű memóriakezeléssel járó sérülékenységek kockázatát (puffer túlcsordulás, használat után-mentesség stb.);
- A Deno nem használja az npm csomagkezelőt és a package.json fájlt, és a telepítendő modul URL-jének vagy elérési útjának megadásával kéri a felhasználót a modulok telepítésére. A projekt azonban számos segédprogramot kínál, amelyek megkönnyítik a harmadik féltől származó modulokkal való munkát;
- Az alkalmazások külön-külön, homokozókban futnak, és kifejezetten megadott engedélyek nélkül nem férnek hozzá a hálózathoz, a környezeti változókhoz és a fájlrendszerhez;
- Az architektúra magában foglalja az univerzális webalkalmazások létrehozásának lehetőségét, amelyek mind a Deno rendszerben, mind a normál böngészőben működnek;
- "ES modulok" használata és a szükséges() támogatás hiánya;
- A webalkalmazásban a programozó által nem kezelt hibák kényszerített leállításához vezetnek;
- TypeScript támogatás a JavaScript mellett;
- A használatra kész platform teljes mérete 84 MB (31 MB egy zip archívumban) egyetlen végrehajtható fájlként;
- Egy függőségi felbontással és kódformázó rendszerrel érkezik;
- Koncentráljon a nagy teljesítményű alkalmazásokra.
A Dino a kéréseket nem blokkoló módon dolgozza fel a Tokio platform használatával, amelyet eseményvezérelt architektúrán alapuló nagy teljesítményű alkalmazások létrehozására terveztek. Az is érdekes, hogy a Deno beépített HTTP szervere TypeScriptben van implementálva a natív TCP socketek tetején, ami pozitív hatással van a hálózati műveletek teljesítményére.
Az új verzió megjegyzi:
- Teljesítményoptimalizálás (4 javítás);
- Több mint 15 hiba javítása, különösen most, hogy a TLS kliens támogatja a HTTP / 2-t, a kódolási alrendszer támogatja a további kódolási jeleket stb.;
- Több mint két tucat újítás, köztük a korábban tesztelt Deno.startTls és Deno.TestDefinition.permissions alrendszerek stabilizálása, a V8 JS motor frissítése a 9.7-es verzióra, valamint a React 17 JSX átalakítások támogatása.
Forrás: opennet.ru