Socket.io ha la possibilità di inviare messaggi a tutti i client connessi (broadcasting) in maniera veramente easy.

Penso sia più facile visualizzare un esempio; partiamo dal Javascript:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var clients = 0;

app.get('/', function (req, res) {
    res.sendFile('index.html', {root: __dirname});
});

io.on('connection', function (socket) {
    clients++;
    io.sockets.emit('broadcast', {description: clients + ' clients connected!'});
    socket.on('disconnect', function () {
        clients--;
        io.sockets.emit('broadcast', {description: clients + ' clients connected!'});
    });
});

http.listen(3000, function () {
    console.log('listening on *:3000');
});

Con Socket.io è possibile intercettare / emettere eventi, ed agire di conseguenza.

Ne vediamo tre esempi.

Il primo riguarda l'evento message, che è un evento built-in del framework:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function (req, res) {
    res.sendFile('index.html', {root: __dirname});
});

io.on('connection', function (socket) {
    console.log('A user connected');

    setTimeout(function () {
        socket.send("Messaggio dopo 3 secondi");
    }, 3000);

    socket.on('disconnect', function () {
        console.log('A user disconnected');
    });

});

http.listen(3000, function () {
    console.log('listening on *:3000');
});

Ho scoperto che nelle applicazioni web è possibile utilizzare un file manifest, che da determinate informazioni quando si "installano" nelle homescreen dei dispositivi mobili.

E' una tecnologia non ancora stabile e pienamente suppoortata, ma sarebbe già il caso di aggiungerla ai nostri siti.

Ho trovato una libreria che permette di generare PDF direttamente in Javascript: pdfmake!

Potete scaricarla da GitHub.

Includete nella vostra pagina questi due file:

<script src="pdfmake.min.js"></script>
<script src="vfs_fonts.js"></script>

Bene, cominciamo con qualche esempio.

Una delle cose che mi piace di più di Node.js, è che ci stanno tantissime librerie / framework disponibili!

Uno di questi, che trovo molto interessante, è Hapi.js!

Vediamo come creare un esempio per fare qualche test.