O documento discute como desenvolver aplicações web que funcionem offline através de tecnologias como HTML5, Node.js e Socket.io. Ele apresenta soluções como cache manifest, localStorage e webSockets para sincronizar dados entre clientes e servidor mesmo sem conexão com a internet.
14. Backbone localStorage Adapter v1.0
window.SomeCollection = Backbone.Collection.extend({
localStorage: new Backbone.LocalStorage("Nome"),
// Nome unico na sua app.
});
30. Socket.io - client
<script src="/socket.io/socket.io.js"></script>
<script>
// Criando uma conexão Socket.io com servidor.
var socket = io.connect('http://localhost:8080');
// Ao conectar com servidor...
socket.on('connect', function(){
// Enviando mensagem ao servidor apenas para alertar
o servidor.
socket.send("Ola Servidor");
// Evento "message" de resposta do servidor
socket.on('message', function(visitas){
//atualizar localStorage
});
});
</script>
31. Socket.io - server
// Instanciando os módulos HTTP e Socket.io.
var http = require('http').createServer(index)
, io = require('socket.io').listen(http);
// Configurando a porta de listen do servidor.
http.listen(8080);
// Iniciando o Socket.IO através do evento "Connection".
io.sockets.on('connection', function(socket){
// Evento "message" que ocorre quando entra um novo
usuário.
socket.on('message', function(){
//busca os dados para o usuario
var meus_dados = "{'nome': 'Suissa'}";
socket.emit('message', meus_dados);
});
});
35. Now.js - server-side
var server = require('http').createServer();
server.listen(8080);
var nowjs = require("now");
var everyone = nowjs.initialize(server);
everyone.now.distributeMessage = function(product){
//salve no database
};