/ Node

Node.js: perché iniziare.

Tutti conoscono PHP, WordPress e compagnia bella, ma in pochi, purtroppo, sono a conoscenza delle reali potenzialità di Node. C'è chi lo vede come una terrificante entità oscura, una scatola nera impenetrabile; altri invece lo ritengono inutile: con gli strumenti a loro disposizione si può già fare di tutto, quindi perché lanciarsi in questo nuovo, lungo e tortuoso viaggio? Perché investire del tempo nell'apprendere una nuova tecnologia senza che ce ne sia un reale bisogno?

Un nuovo JavaScript

Prima di cominciare, dobbiamo sfatare un mito: per il web developer medio non dovrebbe essere affatto complicato muovere i primi passi in questo nuovo mondo. Alla base di Node, in fin dei conti, non c'è nient'altro che JavaScript: al di là dei tecnicismi e delle formalità, prima ancora di entrare nel dettaglio e spiegare la tecnologia che lo muove, dobbiamo necessariamente capire questo. Utilizzare Node significa dunque ridurre sensibilmente la complessità, dando vita a una codebase interamente scritta con un singolo linguaggio di programmazione, sia lato server che lato client. E questo, per me, è già un vantaggio inestimabile. E poi ci sono anche i vantaggi oggettivi dati da un linguaggio estremamente versatile e scalabile, rapido e moderno, ormai imprescindibile per qualunque sviluppatore si appresti a metter mano su un progetto che preveda una qualsiasi forma di interazione in tempo reale tra gli utenti, come un sistema di chat o una qualunque pagina web che necessiti di update in tempo reale.

Quindi Node.js è JavaScript, ma non è JavaScript?

Più o meno, sì. Programmare in Node.js significa scrivere codice in JavaScript, ma la tecnologia che muove la piattaforma è leggermente diversa. Tutto nasce dal celebre motore V8, un engine JavaScript incredibilmente performante - ed open source - scritto in C++ dai nostri cari amici di Google. Lo stesso utilizzato in Chrome, ma che in questo caso viene scaraventato su un server al fine di fargli fare cose che neanche lo stesso creatore del tanto chiacchierato linguaggio di programmazione per il web mai avrebbe osato pensare. Concettualmente - cito testualmente la home del sito internet in attesa di scrivere un articolo dedicato - "Node.js usa un modello I/O non bloccante e ad eventi". Rappresenta dunque una tecnologia più snella e performante, che fa dell'asincronicità il proprio cavallo di battaglia. Per questo, come dicevamo poco fa, è particolarmente indicato per lo sviluppo di applicazioni in tempo reale, in cui il flusso dell'applicazione non viene mai "bloccato" dalle operazioni in corso d'esecuzione.

Questo breve articolo non vuole essere un compendio esaustivo del linguaggio e del suo funzionamento, né tantomeno una spiegazione tecnicamente ineccepibile di cos'è e come funziona Node.js. Si tratta semplicemente di un tentativo di spiegarne i vantaggi e incuriosire chi ancora pensava di non averne bisogno, ma in realtà potrebbe trarre grandi benefici adottandolo all'interno di un proprio progetto. Del resto, ormai, node è destinato a risiedere all'interno delle macchine di ogni sviluppatore. Stiamo pur sempre parlando del compagno naturale di npm, il package manager più utilizzato e diffuso al mondo. Prima di addentrarvi nel mondo di Node.js, comunque, consiglio di acquisire una considerevole dimestichezza con Promise, Async/Await e tutte le altre novità che hanno letteralmente trasformato JS negli ultimi due anni.