2 febbraio 2012 – Di Lee Jacobson

Introduzione

Questa è la prima parte di una serie di tutorial che voglio scrivere su Node.js. Dovrei chiarire che non sono un esperto di Node.js, ma un buon modo per verificare di aver capito qualcosa è provare a spiegarlo a qualcun altro. Se vedete qualcosa che non vi sembra del tutto giusto, fatemelo sapere così posso correggere l’errore, mi assicurerò di darvi credito.
Ho deciso di imparare Node.js recentemente a causa della sua crescente popolarità. L’industria della programmazione si muove incredibilmente veloce ed è pericoloso rimanere indietro. Imparare nuovi linguaggi è importante perché se non lo fai è probabile che rimarrai indietro e senza lavoro. Pensate a tutti quegli sviluppatori flash che non riescono più a trovare lavoro.
Così cominciamo con un po’ di informazioni (bleah!).
Node.js è una versione lato server di JavaScript. Questo significa che tutte le cose belle di JavaScript si applicano qui. Significa anche che se sei già abbastanza familiare con JavaScript avrai un bel vantaggio. Node.js ha solo pochi anni e questo significa che anche le persone che ci hanno lavorato fin dall’inizio lo usano solo da pochi anni. Paragonate questo a quanto tempo alcune persone hanno scritto in C. Essendo un linguaggio così nuovo significa anche che non ci sono molte persone là fuori che lo conoscono e questo significa che per la semplice regola della domanda e dell’offerta la vostra abilità vale più del vostro programmatore PHP medio.

Creazione di Hello World

Creiamo un hello world. Per prima cosa vai su http://www.nodejs.org e scarica node.js. Quando è installato e pronto crea un nuovo file JavaScript con il seguente:

console.log(“Hello World”);

Ora salva il file, chiamalo qualcosa come “hello.js” ed eseguilo con il seguente comando:

node hello.js

Così dovresti ottenere ‘Hello World’ nel tuo terminale. Questo va bene, ma sono sicuro che la cosa più importante è che tu voglia sapere come stampare ‘Hello World’ alle nuove connessioni HTTP.
Apri di nuovo il tuo editor di testo e digita:
Ora salva il tuo file ed eseguilo con:

node hello.js

Dovresti vedere ‘Server started’ nel terminale. Grande! Ora apri il tuo browser web e vai su ‘http://localhost:8080’ dovresti vedere il tuo messaggio ‘Hello World’.
Diamo un’occhiata più da vicino al nostro codice.
La prima linea è solo ottenere il modulo http e salvarlo nella variabile ‘http’. L’http è incluso in Node.js per renderci facile la creazione di applicazioni Node.js.
Possiamo quindi usare il modulo http per creare il nostro server http chiamando la sua funzione ‘createServer’. Questa funzione restituisce un oggetto e prende una funzione come parametro.

Chiamiamo la funzione ‘listen’ sul nostro nuovo oggetto server che prende un valore numerico che dice al nostro server su quale porta vogliamo che ascolti. Nel nostro caso stiamo usando la porta 8080 che è il motivo per cui abbiamo collegato il nostro browser a http://localhost:8080
Creiamo anche una funzione e la usiamo come parametro per la funzione ‘createServer’. Questa è una cosa abbastanza standard da fare in JavaScript perché le funzioni possono essere parametri proprio come le variabili e gli oggetti. Quello che succederà è che ogni volta che il nostro server riceverà una nuova connessione sulla porta 8080 eseguirà la funzione che gli abbiamo dato. È interessante notare che la funzione che gli stiamo passando è chiamata funzione anonima, ed è chiamata così perché non le diamo un nome.
Avrete notato che la nostra funzione anonima prende due parametri, ‘request’ e ‘response’. Questi parametri vengono passati alla nostra funzione anonima dal server HTTP quando riceve una nuova connessione. Sono entrambi oggetti che possiamo usare nella nostra risposta alla richiesta in arrivo.
Hai notato che la prima cosa che facciamo è chiamare la funzione ‘writeHead’ che ci permette di impostare lo stato HTTP come primo parametro e inviare alcune intestazioni di risposta come secondo parametro. Stiamo impostando il codice di stato 200 che sta dicendo al nostro browser web che tutto è OK e gli stiamo anche passando un’intestazione ‘Content-Type’ che permette al nostro browser di sapere cosa gli stiamo inviando. Nel nostro caso è solo testo semplice.
Poi usiamo l’oggetto response per scrivere il nostro ‘Hello World’. Lo facciamo semplicemente chiamando la sua funzione di scrittura e passandogli il nostro testo. A questo punto abbiamo finito con la nostra risposta quindi lo diciamo all’oggetto response chiamando la sua funzione ‘end’.

Rendere la nostra risposta più interessante

Hello world è abbastanza noioso quindi facciamo qualcosa di più divertente. Possiamo creare un contatore di utenti molto facilmente in Node.js e non abbiamo nemmeno bisogno di usare un database come potremmo fare in PHP.
Creiamo un nuovo file JavaScript chiamato, ‘counter.js’ e digitiamo quanto segue:
Ora eseguiamolo con il comando,

node counter.js

Quando navighi nel tuo browser verso ‘http://localhost:8080’ dovresti ora ottenere una vista contatore.
Nota: Potresti vedere il contatore salire di due unità per ogni richiesta, questo perché il tuo browser sta richiedendo la favicon dal server (http://localhost:8080/favicon.ico).
Dovresti anche vedere che Node.js sta registrando ogni richiesta che riceve nella console.
La cosa principale che stiamo facendo qui è impostare una variabile ‘userCount’ e incrementarla ad ogni richiesta. Stiamo poi scrivendo il ‘userCount’ nel testo della risposta.
In PHP per fare la stessa cosa avresti bisogno di salvare le informazioni in qualcosa come un file di testo o un database.

Questo tutorial è disponibile anche in cinese: http://www.laonan.net/blog/63/
Grazie a laonan per la traduzione

Se ti è piaciuto questo tutorial controlla la parte 2, Node.js per principianti – Callbacks

Autore

Ciao, sono Lee. Qui troverai articoli e tutorial sulle cose che mi interessano. Se vuoi assumermi o saperne di più su di me, vai alla mia pagina “about me”

Link sociali

Tags