Construindo Apps com ASP.NET SignalR

590 visualizações

Publicada em

Publicada em: Tecnologia

Construindo Apps com ASP.NET SignalR

  1. 1. Construindo Apps com ASP.NET SignalR IVAN PAULOVICH - MVP ASP.NET ivan@100loop.com http://facebook.com/ivan.paulovich @ivanpaulovich
  2. 2. Ivan Paulovich
  3. 3. Agenda  O que é SignalR?  Demo!  SignalR no servidor e no cliente  Demo!  Demo!  Demo!
  4. 4. 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)
  5. 5. Instalação via Nuget 1. New Empty Web Application 2. Instalar via Nuget PM> Install-Package Microsoft.AspNet.SignalR PM> Install-Package jquery
  6. 6. Modelo de Comunicação
  7. 7. Demo  Bolsa de Valores Conferir Versão do Javascript
  8. 8. SignalR no servidor e no cliente  Instalação  Modelo de Comunicação  Hub  Callbacks no Cliente
  9. 9. 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
  10. 10. 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”
  11. 11. “ ” Poucas linhas de código para criar um app multicliente . Simplesmente incrível!
  12. 12. Demo  Movendo Objetos
  13. 13. 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
  14. 14. Demo  ShootR http://shootr.signalr.net/  JabbR https://jabbr.net
  15. 15. Demo  Sala de Bate Papo
  16. 16. Demo  Clientes em dispositivos diferentes
  17. 17. Demo  Jogo da Velha
  18. 18. Referências  Siga o Damian Edwards https://twitter.com/damianedwards  ASP.NET http://asp.net/signalr  SignalR no GitHub http://gifthub.com/signalr/signalr  Blog 100loop.com http://100loop.com
  19. 19. “ ” Obrigado! Entre em contato no www.100loop.com ou no ivan@100loop.com

×