liberazione di u prugettu , chì offre una piattaforma Node.js-like per l'esekzione di l'applicazioni stand-alone in JavaScript è TypeScript chì pò esse usatu per eseguisce l'applicazioni senza esse ligatu à un navigatore, cum'è a creazione di handlers chì currenu in u servitore. Deno usa un mutore JavaScript , chì hè ancu utilizatu in Node.js è navigatori basati nantu à u prughjettu Chromium. Codice di prughjettu sottu licenza MIT. U prughjettu hè sviluppatu da Ryan Dahl (), creatore di a piattaforma JavaScript Node.js.
Unu di i scopi principali di creà un novu runtime per JavaScript hè di furnisce un ambiente più sicuru. Per migliurà a sicurità, u mutore V8 hè scrittu in Rust, chì evita assai di e vulnerabilità chì nascenu da a manipulazione di memoria di livellu bassu, cum'è l'accessu dopu senza, null pointer dereferences, è buffer overruns. A piattaforma hè aduprata per processà e dumande in modu senza bloccu , scrittu ancu in Rust. Tokio vi permette di creà applicazioni d'alta prestazione basate nantu à l'architettura guidata da l'avvenimenti, supportendu e richieste di rete multi-threading è processendu in modu asincronu.
menu Deno:
- Cunfigurazione predeterminata orientata à a sicurità. L'accessu à i schedari, a rete, è l'accessu à e variàbili di l'ambiente sò disattivati per difettu è deve esse attivatu esplicitamente;
- Supportu integratu per a lingua TypeScript in più di JavaScript;
- Runtime vene in a forma di un unicu schedariu eseguibile autonomu ("deno"). Per eseguisce applicazioni cù Deno hè abbastanza per a so piattaforma un schedariu eseguibile, circa 10 MB in grandezza, chì ùn hà micca dipendenze esterne è ùn deve micca installazione speciale in u sistema;
- Quandu principia u prugramma, è ancu per carricà moduli, pudete aduprà l'indirizzu URL. Per esempiu, per eseguisce u prugramma welcome.js, pudete aduprà u cumandimu "deno https://deno.land/std/examples/welcome.js". U codice da risorse esterne hè telecaricatu è cache in u sistema lucale, ma ùn hè mai aghjurnatu automaticamente (l'aghjurnamentu richiede esplicitamente l'esecuzione di l'applicazione cù a bandiera "--reload");
- Trattamentu efficiente di e dumande di rete via HTTP in applicazioni; a piattaforma hè pensata per creà applicazioni di rete d'altu rendiment;
- A capacità di creà applicazioni web universali chì ponu esse eseguite sia in Deno sia in un navigatore web regulare;
- In più di u runtime, a piattaforma Deno agisce ancu cum'è un gestore di pacchetti è permette l'accessu à i moduli per URL in u codice. Per esempiu, per caricà un modulu, pudete specificà in u codice "import * as log from "https://deno.land/std/log/mod.ts". I fugliali caricati da servitori esterni per URL sò memorizzati in cache. U ligame à e versioni di i moduli hè determinatu specificendu i numeri di versione in l'URL, per esempiu, "https://unpkg.com/liltest@0.0.5/dist/liltest.js";
- A struttura include un sistema d'ispezione di dependenza integrata (u cumandamentu "deno info") è una utilità per u furmatu di codice (deno fmt).
- Per i sviluppatori di applicazioni un inseme di moduli standard chì anu sottumessu auditu supplementu è teste di cumpatibilità;
- Tutti i script di l'applicazione ponu esse cumminati in un schedariu JavaScript.
Differenze da Node.js:
- Deno ùn usa micca u gestore di pacchetti npm
è ùn hè micca ligatu à i repositori, i moduli sò indirizzati via un URL o da una strada di u schedariu, è i moduli stessi ponu esse posti in ogni situ web; - Deno ùn usa micca "package.json" per definisce i moduli;
- Differenza API, tutte l'azzioni asincrone in Deno tornanu una prumessa;
- Deno richiede una definizione esplicita di tutti i permessi necessarii per i schedarii, a rete è e variabili di l'ambiente;
- Tutti l'errori chì ùn sò micca furniti cù handlers portanu à a terminazione di l'applicazione;
- Deno usa u sistema di moduli ECMAScript è ùn supporta micca require ().
Source: opennet.ru
