Home / Blog / - -

Node.js

di Giuseppe Maggi

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.

» VUOI SAPERNE DI PIU’? SCOPRI IL NOSTRO CORSO NODE.JS «

Prepariamo l’ambiente Node.js

Il punto di partenza è il sito ufficiale del progetto Node.js. Al centro della pagina troviamo i link per lo scaricamento della piattaforma.

Download Node.js

Notiamo, innanzi tutto, che il sito si è accorto subito che l’abbiamo chiamato da un computer Windows (nel nostro caso), ci propone pertanto versioni per questo sistema operativo. Tuttavia, come abbiamo già detto, Node.js è un ambiente di sviluppo multipiattaforma quindi si può usare su qualsiasi tipo di PC: è sufficiente selezionare il link “Altri download” per poter visualizzare tutte le opzioni disponibili.

Download Node.js windows, mac, linux

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.

La fotografia attuale è fornita dal seguente grafico che permette di comprendere meglio le opzioni prima mostrate:

Versioni Node.js

Ora si spiega meglio perché la 12 sia classificata come corrente (è nei primi 6 mesi di vita) e quale sia il suo destino: essendo versione con numero pari la aspetta un supporto di lungo termine e potremo pertanto usarla ancora per molti mesi. La 10 non essendo più Current bensì Active è quella che viene consigliata alla maggior parte degli utenti, tranne quelli che hanno assoluto interesse a sperimentare nuove funzionalità. Inoltre si spiega altresì perché non vi sia traccia della versione 11.

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.

» VUOI SAPERNE DI PIU’? SCOPRI IL NOSTRO CORSO NODE.JS «

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, Express.js, 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 Node-RED, 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 Electron;
  • Gestione del sistema operativo. Grazie ad npm possiamo installare tool utilizzabili nel proprio sistema. Ad esempio, Rimraf 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.
» VUOI SAPERNE DI PIU’? SCOPRI IL NOSTRO CORSO NODE.JS «

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 Manuali su Node.js su Amazon.it) e parallelamente seguire un corso in aula o un corso online. Noi non possiamo che consigliarvi il nostro Corso Node.js, ma potete scegliere quello che più preferite.

Conclusioni

Se insomma vi chiedessero perché conviene imparare Node.js la risposta sarebbe semplice: perché è facile, gratuito, versatile e ricercatissimo in ogni settore lavorativo. Uno strumento come questo apre moltissime porte a chi lo impara ed offre la possibilità di affrontare progetti sempre diversi che non rendano mai noioso il proprio lavoro. Provare per credere: un po’ di Javascript, qualche colpo di click ed in poche righe di codice vedrete le vostre applicazioni Node al lavoro.

» VUOI SAPERNE DI PIU’? SCOPRI IL NOSTRO CORSO NODE.JS «