Categorie
Senza categoria

Differenze con Node.js

Come abbiamo visto nell’articolo precedenze, fin dal nome Ryan Dahl, ha voluto sottolineare la parentela tra Node.js e Deno. Entrambi sono basati sul motore JavaScript V8 di Google, e forniscono interfacce da riga di comando per l’esecuzione di script.
Le differenze però sono diverse.
La prima è che Deno utilizza i moduli ES rispetto a CommonJS. In aggiunta, le dipendenze vengono referenziate tramite URL o percorsi ai file. Questo ha permesso di superare uno degli inconvenienti maggiori per gli sviluppatori Node.js: le dimensioni della cartella node_module.

Heaviest Objects In The Universe : ProgrammerHumor

Facciamo un esempio pratico: vogliamo importare una libreria, che espone una funzione, la quale restituisce il giorno dell’anno corrisponde ad una data. In Deno è sufficiente importare la libreria direttamente da URL, in modo del tutto simile a come un browser richiama gli script JavaScript.

Creiamo il file day.ts

import { dayOfYear } from "https://deno.land/std/datetime/mod.ts";
const n = dayOfYear(new Date());
console.log(n);

Ed eseguiamo

deno run day.ts

Il motore si occuperà di verifica se la libreria è presente nel sistema, e in caso effettuerà il download.

Categorie
Senza categoria

Cosa è Deno

Deno (https://deno.land/v1) è il nuovo runtime JavaScript e TypeScript basato su V8, scritto in Rust.

E’ stato creato da Ryan Dahl, (già creatore di Node.js), Bert Belder, and Bartek Iwańczuk, ed ha come punti di forza la sicurezza e la produttività. 

Annunciato da Dahl al JSConf EU 2018, durante il suo discorso “10 Things I Regret About Node.js” (“10 cose che mi rammarico per Node.js”) , dopo due anni di sviluppo, è stata finalmente rilasciata la prima versione stabile. 

Tra i punti di forza può contare su:
Sicurezza. Nessun accesso a file, rete o ambiente, a meno che non sia esplicitamente abilitato;
Supporto nativo a TypeScript;
– Deno integra un dependency inspector (deno infocode) e un code formatter (deno fmt);
– Non utilizza npm come gestore di pacchetti, dato che i moduli referenziati come URL o percorsi di file.

Installazione

Deno, essendo distribuito come singolo eseguibile, e non richiedendo dipendenze, risulta piuttosto semplice da installare.

Shell (Linux, Mac):

curl -fsSL https://deno.land/x/install/install.sh | sh

PowerShell (Windows):

iwr https://deno.land/x/install/install.ps1 -useb | iex


Una volta effettuata l’installazione siamo pronti ad eseguire il primo script. 

deno run https://deno.land/std/examples/welcome.ts

Deno si occuperà di prelevare il file e successivamente di eseguirlo.

In alternativa è scrivere i comandi in nel file locale ed eseguirlo direttamente

welcome.ts

console.log("Welcome to Deno ?");
deno run welcome.ts

Nei prossimi articoli, vedremo le differenze e i vantaggi di Deno rispetto a Node.js e poi andremo a eseguire esempi via via più complessi.