vinipsmaker / sorvete

Projeto desenvolvido de forma pouco invasiva visando otimizar o uso de bateria em códigos para dispositivos moveis feitos em JavaScript, utilizando processamento em nuvem
4 stars 0 forks source link

Infraestrutura de RPC #8

Open vinipsmaker opened 11 years ago

vinipsmaker commented 11 years ago

Requisitos:

vinipsmaker commented 11 years ago

WebSocket

Eu encontrei essa implementação, que parece ser a mais popular e achei várias coisas bem interessantes, como o número de commits e o foco em testes.

De qualquer forma, eu prefiro essa outra implementação, pois parece mais modular (gostei bastante da ideia de separar a implementação do protocolo da camada de transporte, algo que, por exemplo, é feito com o HTTP no Node.js, mas não é feito, por exemplo, pelo Tufão com WebSocket).

Node.js

Ambas implementações citadas suportam Node.js.

JSON-RPC

Essa é uma área que pede mais esforço da minha pessoa para completar a tarefa.

vinipsmaker commented 11 years ago

JSON-RPC

Server-side

Baseado no requisito de usar WebSocket, cheguei a três alternativas (organizadas por ordem de prioridade):

Client-side

Encontrei essa implementação, que depende de jQuery. Ela possui suporte a WebSocket, porém não é simétrica, ou seja, ela não pode receber chamadas (diferente da implementação do servidor, que faz e recebe chamadas). O meu plano é incrementá-la para suportar o recebimento de chamadas (sendo que essa funcionalidade só funcionaria quando WebSocket fosse utilizado, pois uma comunicação bidirecional é necessária).

vinipsmaker commented 11 years ago

Essa implementação de WebSocket não funciona com o Node.js mais recente, então ela foi descartada.

A implementação que eu preferia funcionou no Node.js mais recente e já coloquei o esqueleto do código para usá-la no repositório.

Próximos passos:

vinipsmaker commented 11 years ago

JSON-RPC