Socket.io è un framework per Node.js per la costruzione di applicazioni realtime.

Il suo uso di base non è molto difficile, ed è tutto in linea con il modo di programmare di Node.js.

Oggi vediamo un'introduzione.

Iniziamo con il creare il progetto:

$ mkdir TestSocket
$ cd TestSocket
$ npm init

Oggi vediamo come connettere Node.js a MongoDB.

Useremo anche Express; ormai è diventato praticamente un modulo standard.

Partiamo dal classico package.json:

{
    "name": "NodeB2B",
    "version": "1.0.0",
    "keywords": ["util", "functional", "server", "client", "browser"],
    "author": "Matteopuffo",
    "contributors": [],
    "dependencies": {
        "express": "*",
        "mongodb": "*"
    }
}

Come dipendenze indichiamo di prendere le ultime versioni di entrambi i moduli.

Node.js porta con se parecchi moduli già integrati per tutte le operazioni "base".

Attaverso il modulo fs possiamo interagire con il filesystem!

Oggi andiamo a vedere un piccolo snippet di codice per leggere un semplice file TXT.

Useremo anche Express per recuperare i dati da browser; su come procedere all'installazione di Express potete vedere qui o qui.

Oggi vediamo come poter connettere ad un database un nostro programma scritto in Javascript con Node.js; il tutto usando usando ODBC.

Questo perchè, nel mio caso, avevo bisogno di connettermi ad Oracle, e così mi è risultato più facile.

La prima cosa da considerare è che Node.js e npm devono essere installati (lo do per scontato)

La seconda è che il sistema deve essere predisposto ad usare gli ODBC.

Windows ha già tutto il necessario; quindi, anche se nel caso specifico siamo su Linux, non dovremmo avere problemi su Windows.

Su Linux e macOS, invece, dobbiamo installare unixODBC.

Su Archlinux:

# pacman -Sy unixodbc

Su macOS (non testato):

$ brew install unixodbc

A questo punto ci servono due file:

  • package.json
  • main.js

Oggi vediamo come creare un servizio RESTful con Node.js.

Rispetto a tanti altri tutorial, vedremo come usare MySQL invece di MongoDB, e non terremo in considerazione tutta la parte dei template.

In fin dei conti a noi servono solo i dati in formato JSON.

Useremo comunque Express.

Do per scontato l'installazione e un minimo di conoscenza di Node.js; comunque potete guardare a questo breve articolo.