Node.js

07 Sep 2019 | M.A.D.R.

Di questi tempi, consultando offerte di lavoro, capita spesso di imbattersi in ricerche di personale competente in Node.js.

Tuttavia non tutti hanno un’idea chiara di cosa questa piattaforma rappresenti, eppure parliamo di una delle più grandi invenzioni dell’Informatica moderna, tale da aver influito su molti ambiti tecnologici con grande forza di impatto.

Alcuni, già abbastanza informati, potrebbero asserire che Node.js sia “il server Javascript”.

Ciò non è una definizione del tutto errata ma Node.js può essere considerato molto molto di più.

Tutti i dubbi saranno fugati grazie a questo articolo in cui spiegheremo esattamente cos’è Node.js, dove lo utilizziamo più o meno direttamente e come possiamo fare a diventarne esperti.

Node.js: le origini

Node.js è un runtime Javascript. In pratica, un ambiente di esecuzione che permette di eseguire codice Javascript come un qualsiasi linguaggio di programmazione.

Ciò non sembra più di tanto stupefacente, ma chi viene dalla programmazione web sa bene che Javascript nasce come linguaggio web lato client che, pertanto, può essere eseguito solo all’interno di un browser.

Ecco, se volessimo spiegare con pochissime parole in cosa consiste la sua carica rivoluzionaria potremmo dire che Node.js ha fatto uscire Javascript dal browser trasformandolo in un linguaggio di programmazione come qualsiasi altro.

Ciò è di grande valore considerando che Javascript è uno dei linguaggi più veloci da imparare (almeno come approccio alle prime basi) ed è uno dei più conosciuti al mondo.

Dotando Javascript di un suo ambiente di runtime possiamo utilizzarlo per svolgere qualsiasi tipo di programma: da elaborazioni statistiche, scientifiche e via dicendo, a interazioni con rete e database, fino all’utilizzo come server.

Ma questi non sono che esempi, vedremo che Node.js ha saputo porre le basi di molti ambienti influenzando ambiti come il mobile, l’IoT (Internet of Things) e la programmazione desktop.

Node.js nasce nel 2009 da V8, un motore per il runtime Javascript sviluppato da Google per il browser Chrome.

E’ stata proprio la capacità di V8 di lavorare in modalità stand-alone ovvero come programma autonomo a dare il LA a tutte le potenzialità di Node.js.

Per quanto riguarda ulteriori caratteristiche, parliamo – come si può immaginare – di un prodotto open source, gratuito e multipiattaforma, utilizzabile su qualsiasi sistema operativo, e seguito da una delle più folte e attive comunità di sviluppatori al mondo.

Inoltre Node.js si basa su un meccanismo di reazione agli eventi che gli permette, al contempo, di consumare poche risorse ed essere opportunamente reattivo quando serve.

Prepariamo l’ambiente Node.js

Il punto di partenza è il . Al centro della pagina troviamo i link per lo scaricamento della piattaforma.

Un aspetto con cui si deve prendere da subito confidenza in Node.js è il suo sistema di versioning ossia le versioni che vengono assegnate alle varie edizioni. Ad esempio, le immagini precedenti mostrano che attualmente ve ne sono due in primo piano, la 10 e la 12, una consigliata e l’altra corrente: cerchiamo di capirci un po’ di più.

Le versioni di Node.js vivono in tre stadi principali:

  • Current (“corrente” in italiano): una versione resta current a partire dalla sua uscita per circa sei mesi;
  • Active LTS (long-term support): le versioni con numero pari (la 10, la 12, etc.) al termine dei sei mesi in cui sono current diventano attive e quindi indicate per l’uso generico di ogni tipo mentre le versioni dispari (la 9, la 11, etc.) vengono abbandonate;
  • Mantainance (mantenimento a lungo termine): è il destino di tutte le versioni pari alla fine del periodo in cui sono Active. Versioni LTS vengono mantenute e aggiornate per circa trenta mesi pertanto è uno stato in cui la versione è perfettamente affidabile.

In generale, a scopo di produzione sono sempre da scegliere versioni in stato Active o Mantainance.

Pertanto, per avere a disposizione un ambiente di lavoro completo sarà sufficiente scaricare la più recente versione stabile ed installarla nel proprio sistema: da qui le operazioni non saranno così complicate, l’intero procedimento si ridurrà a pochi click.

Il risultato sarà la possibilità di avere Javascript disponibile come linguaggio da usare in script e tramite console, in maniera interattiva. Ad esempio, per iniziare nel modo più classico, con un programma che stampa il messaggio “Hello world!”, sarà sufficiente scrivere in un file di testo denominato hello.js la riga:

console.log("Hello world!")

e lanciarlo da riga di comando con la direttiva:

$ node hello.js

Da qui in poi si potrà utilizzare all’interno di uno script tutto il Javascript che si conosce, più le molte librerie disponibili che per Node.js sono richiamabili da Internet mediante lo strumento noto come npm, il package manager già incluso nella piattaforma.

Cosa posso fare con Node.js?

Dicevamo che Node.js può essere impiegato in molti ambiti, ecco di seguito quelli di maggiore appeal nello scenario lavorativo attuale:

  • Realizzazione di backend web. Questo è uno degli utilizzi primari di Node.js. Permette di sfruttare Javascript per realizzare componenti server da far interagire con app mobile (qualsiasi tipo, sia Android sia iOS) e web app. Tutto il necessario, a livello di comunicazione, viene messo a disposizione da diverse librerie, ma esiste un framework, , che può essere integrato nel nostro progetto e da lì in poi non dovremo far altro che completare il codice in modo che risponda alle nostre finalità;
  • IoT (Internet of Things) e domotica. La sua semplicità di programmazione e la sua estrema efficienza a livello di risorse ha reso in questi anni Node.js uno scenario ideale per la realizzazione di applicazioni da integrare in dispositivi dedicati all’IoT e alla domotica in genere. Molto successo sta riscuotendo , uno strumento di lavoro basato su Node che permette la veloce connessione attraverso la rete di dispositivi dei generi più disparati;
  • Applicazioni desktop. Con il grande risalto che hanno avuto negli anni lo sviluppo web e quello mobile, il settore desktop sembra passato un po’ di moda eppure grazie a Node.js esistono modi per utilizzare tecnologie come HTML, CSS e Javascript per realizzare app desktop multipiattaforma ed efficienti. Il framework più conosciuto nel settore si chiama ;
  • Gestione del sistema operativo. Grazie ad npm possiamo installare tool utilizzabili nel proprio sistema. Ad esempio, serve a cancellare una cartella con tutto il suo contenuto ricorsivamente. Lo si può invocare da riga di comando o integrare come normale libreria in un progetto.

Da dove partire per imparare Node.js

Iniziare ad usare Node.js per i propri progetti richiede un po’ di conoscenze, potete iniziare da qualche buon manuale (qui trovate un elenco aggiornato di su Amazon.it) e parallelamente seguire un corso in aula o un corso online. Noi non possiamo che consigliarvi il nostro , ma potete scegliere quello che più preferite.

Soluzioni complete per ogni esigenza