Oltre a questo, Node.js è anche uno strumento per eseguire JavaScript fuori da un browser: se avete mai sognato di lanciare programmi in JavaScript dalla linea di comando, ad esempio, Node.js vi permetterà di farlo. Costruito attorno al motore JavaScript di Google Chrome, che al momento è forse il più efficiente in circolazione, oltre a essere open-source, Node.js è a propria volta un progetto e programma open-source (e disponibile per i principali sistemi operativi), che cerca di portare il JavaScript fuori dal browser, per utilizzarlo... beh, più o meno per ciò che volete, anche se il suo primo obiettivo sono, per l’appunto, le applicazioni web costruite e gestite interamente in JavaScript. Una volta convinti che il JavaScript può essere indipendente dalla finestra del vostro browser, i limiti di quello che potrete farci saranno dati solo dalla vostra creatività (e competenza). Nel peggiore dei casi, potrete sempre utilizzare Node.js per giocherellare col JavaScript dalla linea di comando e usarlo come calcolatrice o altro. Anche questo è un uso lecito. Node Package Manager (abbreviato in npm, cioè il comando utilizzato per avviarlo) è la fidata spalla di Node.js e serve ad aggiungere nuove funzioni, installando “pezzi” aggiuntivi (noti anche come pacchetti), occupandosi del loro aggiornamento e della loro reperibilità all'interno del computer, e così via. Se all'inizio vi servirà poco, ne scoprirete l’importanza non appena cercherete di sviluppare un programma più complesso del classico “Hello world”. Se non siete interessati a sviluppare applicazioni web, ma volete soltanto uno strumento per utilizzare il motore JavaScript di Google Chrome senza avete attorno Google Chrome, allora potete anche ignorare npm e vivere sereni lo stesso. Se invece lo utilizzerete, potete da subito imparare i sue comandi che vi serviranno più spesso: npm install nome-del-pacchetto –g (per installare globalmente un nuovo pacchetto; non se lo volete installare globalmente, togliere la –g) e npm link nome-del-pacchetto (per rendere accessibile il pacchetto da qualunque punto del vostro computer). Ne esistono molti altri, ma all'inizio vi basteranno questi due. In precedenza, installare Node.js su un sistema operativo Windows poteva essere un procedimento piuttosto complicato, costringendo spesso gli utenti a passare attraverso Cygwin o analoghi simulatori di Linux, per portare a termine la missione. Fortunatamente, da qualche mese è però disponibile una soluzione molto più semplice, che in un colpo solo elimina tutte le complicazioni e ripristina una delle principali qualità di Windows, ossia una installazione a prova di incapace totale. Questa soluzione è l’installer per Windows. Qualunque cosa troviate scritta su manuali e guide varie, a proposito dell’installazione su Windows di Node.js e npm, ignoratela pure: quasi sicuramente è stata scritta prima che arrivasse l’installer e vi spingerebbe verso soluzioni inutilmente complicate. Per installare Node.js, dunque, andate su http://nodejs.org/download/ e scaricate Windows Installer (al momento, il nome intero è node-v0.8.14-x86.msi, ma il numero della versione è destinato a cambiare in fretta, data la velocità con cui lo sviluppo è portato avanti): lanciate poi l’installazione con il solito doppio click e seguite le indicazioni sullo schermo. Alla fine, vi ritroverete con Node.js e npm installati a dovere e pronti a funzionare. Una volta installato, nella lista programmi del menu start (quello che esce cliccando sul tasto start di Windows) dovreste trovare una nuova voce, ossia Node.js (x86), oppure (x64), a seconda del tipo di sistema che avete. La prima opzione che vi offre al suo interno è Node.js: cliccandola, aprirete una finestra che vi inserirà direttamente nel REPL di Node. Il REPL (Read-Eval-Print-Loop) è uno strumento per la programmazione interattiva, che permette di scrivere una operazione ed eseguirla immediatamente (premendo “Invio”, ovvio): un buon sistema per sperimentare subito qualcosa e “assaggiare” un nuovo linguaggio di programmazione, senza bisogno di scrivere programmi interi.
