S'ha publicat Deno 1.16, una plataforma JavaScript dissenyada per a l'execució autònoma (sense navegador) d'aplicacions escrites en JavaScript i TypeScript. El projecte està sent desenvolupat per l'autor de Node.js, Ryan Dahl. El codi de la plataforma està escrit en el llenguatge de programació Rust i es distribueix sota la llicència MIT. Hi ha versions llestes per utilitzar disponibles per a Linux, Windows и macOS.
El projecte és similar a la plataforma Node.js i, com aquesta, utilitza el motor JavaScript V8, però, segons l'autor de Node.js, corregeix una sèrie de defectes arquitectònics del seu predecessor i es diferencia d'aquest en els següents matisos. :
- L'ús de Rust com a llenguatge principal, que, segons els desenvolupadors, redueix el risc de vulnerabilitats associades a la gestió de la memòria de baix nivell (desbordament de memòria intermèdia, use-after-free, etc.);
- Deno no utilitza el gestor de paquets npm i package.json, demanant a l'usuari que instal·li mòduls especificant un URL o una ruta al mòdul que s'ha d'instal·lar. Tanmateix, el projecte ofereix diverses utilitats per simplificar el treball amb mòduls de tercers;
- Les aplicacions s'executen per separat en caixes de proves i no tenen accés a la xarxa, les variables d'entorn i el sistema de fitxers, sense els permisos concedits explícitament;
- L'arquitectura ofereix la possibilitat de crear aplicacions web universals que poden funcionar tant en el sistema Deno com en un navegador normal;
- Utilitzant "Mòduls ES" i manca de suport de require();
- Qualsevol error en una aplicació web no gestionada pel programador comporta la seva terminació forçada;
- Suport TypeScript a més de JavaScript;
- La mida completa de la plataforma llesta per utilitzar és de 84 MB (en un arxiu zip - 31 MB) en forma d'un únic fitxer executable;
- El kit ofereix un sistema per resoldre dependències i formatar codi;
- Centra't en aplicacions d'alt rendiment.
Dino processa les sol·licituds de manera sense bloqueig mitjançant la plataforma Tokio, dissenyada per crear aplicacions d'alt rendiment basades en una arquitectura basada en esdeveniments. També és interessant que el servidor HTTP integrat de Deno estigui implementat a TypeScript a sobre dels sòcols TCP natius, la qual cosa té un efecte positiu en el rendiment de les operacions de xarxa.
La nova versió assenyala:
- Optimització del rendiment (4 pedaços);
- S'han corregit més de 15 errors, en particular, el client TLS ara admet HTTP/2, el subsistema de codificació admet marques de codificació addicionals, etc.;
- Més de dues dotzenes d'innovacions, de les quals podem destacar l'estabilització dels subsistemes de prova prèviament Deno.startTls i Deno.TestDefinition.permissions, l'actualització del motor V8 JS a la versió 9.7 i suport per a les transformacions de React 17 JSX.
Font: opennet.ru
