construindo apps com asp.net signalr
TRANSCRIPT
Construindo Apps com ASP.NET SignalRIVAN PAULOVICH - MVP ASP.NET
http://facebook.com/ivan.paulovich
@ivanpaulovich
Ivan Paulovich
Agenda
O que é SignalR?
Demo!
SignalR no servidor e no cliente
Demo!
Demo!
Demo!
O que é SignalR?
Uma camada de abstração para comunicação assíncrona com ASP.NET
Permite comunicação bi-directional
O cliente pode chamar o servidor (trivial)
O servidor pode chamar métodos do cliente em tempo real (incrivelmente simples)
Instalação via Nuget
1. New Empty Web Application
2. Instalar via Nuget
PM> Install-Package Microsoft.AspNet.SignalRPM> Install-Package jquery
Modelo de Comunicação
Demo
Bolsa de Valores
Conferir Versão do Javascript
SignalR no servidor e no cliente
Instalação
Modelo de Comunicação
Hub
Callbacks no Cliente
Hub
public class ShapeHub : Hub
{
//
// Recebe mensagens do Cliente
//
public void MoveShape(int x, int y)
{
//
// Envia mensagens para o Cliente
//
this.Clients.Others.updateShape(x, y);
}
}
Simples definição do Hub
Implementação dos métodos
Uso intensivo de Anonymous Methods
Hub no Cliente
<script type="text/javascript"> $(function () { var shape = $("#shape"); $.connection.hub.start().done(function () { shape.draggable({ drag: function () {
// // Envia a nova posição para o servidor // $.connection.shapeHub.server.moveShape(
shape.position().left, shape.position().top);
} }); });
// // Recebe as mensagens do servidor // $.connection.shapeHub.client.updateShape = function (x, y) { shape.animate({ left: x, top: y }, { queue: false }); } });</script>
Implementação dos métodos no cliente “.client”
Pode chamar métodos no servidor “.server”
“
”
Poucas linhas de código para criar um app multicliente . Simplesmente incrível!
Demo
Movendo Objetos
Onde você pode usar?
Apps altamente interativas Dashboards
Apps multicliente
Comunicação em tempo real entre diferentes dispositivos IOs
Windows Phone
Desktop
Mobile
Chrome, Opera, Firefox, IE
Jogos
Demo
ShootRhttp://shootr.signalr.net/
JabbRhttps://jabbr.net
Demo
Sala de Bate Papo
Demo
Clientes em dispositivos diferentes
Demo
Jogo da Velha
Referências
Siga o Damian Edwardshttps://twitter.com/damianedwards
ASP.NEThttp://asp.net/signalr
SignalR no GitHubhttp://gifthub.com/signalr/signalr
Blog 100loop.comhttp://100loop.com