Segreti e virtù di Node.js: una guida pratica


Come funziona Node.js

Annuncio:
Hosting Siteground per il tuo sito con Keliweb
Ti serve un hosting per WordPress? Scopri Siteground

La tecnologia Node.js introduce delle innovazioni enormi nel campo della tecnologia web, soprattutto perchè riduce la quantità  di codice da scrivere e perchè sovverte uno dei dettami delle comunicazioni client-server, ovvero il fatto che Javascript possa eseguirsi solo sui client. Con Node.js, è infatti consentito l’utilizzo server-side del linguaggio in questione, con enormi possibilità  sul piano applicativo e pratico.

Di base, Node.js permette di costruire applicazioni basate su un framework asincrono e event-driven, cioè guidato dagli eventi: questo significa che può ad esempio essere aperta una o più connessioni su una porta, e lasciarla in sospeso (cioè senza consumare risorse del server) finchè non avverrà  effettivamente la chiamata al servizio – con un click, con una chiamata a funzione o con qualsiasi altro avvenimento, o event, equivalente.

Il vantaggio principale di questo approccio, contrapposto a quello basato su eventi concorrenti o multi-thread (Apache), sta nel fatto che permette di gestire in modo più snello grosse quantità  di traffico in arrivo su un sito, un’app o un servizio. In pratica chi ha inventato questa tecnologia aveva in mente di snellire le grosse quantità  di richieste che arrivano a grossi picchi periodici, ad esempio, che sono tipicamente difficili da gestire con server classici e che portano a blocchi, errori o rallentamenti di vari ordini e grado.

Tra l’altro, il suo utilizzo non impone l’uso di un singolo processo alla volta: mediante Node.js si possono gestire veri e propri cluster e bilanciare cosଠal meglio le risorse hardware che si hanno a disposizione.

Un esempio pratico

L’esempio classico di Node.js riguarda la facilità  con cui si può aprire una connessione HTTP sulla porta 1337, e lasciarla in ascolto per un tempo indeterminato.

const http = require('http');
const hostname = '127.0.0.1';
const port = 1337;

http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

A differenza di quanto avviene in PHP, che è un interprete di comando classico (al massimo multi-thread), Node.js permette di sfruttare la compilazione Just-In-Time asincrona basata sugli eventi I/O, con l’ausilio dell’engine V8 di Chrome.

Hosting per Node.js: ancora non troppo diffusi, ma…

Tale innovazione pone – al di là  della curva di apprendimento del modello, neanche troppo ripida – un problema di ordine pratico, qualora ci servisse su un servizio di hosting: gli ambienti condivisi ordinari non vanno bene per lo scopo, e quelli più avanzati vanno comunque configurati a dovere. In molti casi le soluzioni di hosting di questo tipo non hanno avuto molto successo e sono sparite dalla circolazione, e soltanto poche (purtroppo) ad oggi sono sopravvissute.

Nonostate tutto, alcuni hosting che danno la possibilità  di disporre di Node.js, per la cronaca, sono ad esempio Google Cloud (a pagamento) e Cloudno.de (free).

👇 Da non perdere 👇



Trovalost esiste da 4553 giorni (12 anni), e contiene ad oggi 4149 articoli (circa 3.319.200 parole in tutto) e 20 servizi online gratuiti. – Leggi un altro articolo a caso
Privacy e termini di servizio / Cookie - Il nostro network è composto da Lipercubo , Pagare.online e Trovalost
Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Questo sito contribuisce alla audience di sè stesso.