BinaryJS
le framework JavaScript pour le flux de données binaires

Le framework JavaScript BinaryJS a été conçu par Eric Zhang. Il permet de créer des flux binaires bidirectionnels proches des sockets TCP entre le navigateur et Node.js. Il autorise le streaming de données multimédia.

Voici quelques caractéristiques de l'outil :

  • rapide, compatible JSON, les données restes binaires du début à la fin ;

  • gestion de la performance pour les gros transferts ;

  • envois multiples en parallèle ;

  • une API basée sur Node.js.


Serveur Node.js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
var server = BinaryServer({port: 9000});
server.on('connection', function(client){
  client.on('stream', function(stream, meta){
    var file = fs.createWriteStream(meta.file);
    stream.pipe(file);
  }); 
});

Navigateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
var client = BinaryClient('ws://localhost:9000');
client.on('open', function(stream){
  var stream = client.createStream({file: 'hello.txt'});
  stream.write('Hello');
  stream.write('World!');
  stream.end();
});
A titre d'exemples, ce framework pourrait vous permettre de créer des jeux multijoueurs en temps réel, des chargements progressifs d'images, des chats audiovisuels, diffuser des vidéos en direct, etc.


Site officiel.
La documentation.
D'après un article sur DailyJS. Cet article parle également de Advice Functional Mixin, Buildify et MaDGe.