Construindo apps com SignalR - AspNet Conference Brasil

395
-1

Published on

O ASP.NET SignalR é um poderoso e prático componente para implementar comunicação em tempo real, confira como explorar suas funcionalidades.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
395
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Construindo apps com SignalR - AspNet Conference Brasil

  1. 1. ANDRÉ PAULOVICH IVAN PAULOVICH AspNet Conference Brasil
  2. 2. João Pessoa... Paraíba – Oxente!
  3. 3. Belo Horizonte... Minas Gerais – Uai!
  4. 4. www.100loop.com
  5. 5. • • • •
  6. 6. • • • • • • • • • • • • • •
  7. 7. HTTP != “Tempo real”
  8. 8. Contras Atraso nas atualizações Sobrecarrega o server com requests desnecessários
  9. 9. Prós Sem atraso nas respostas Múltiplos requests Contras Baixa carga no servidor Existem técnicas mais rápidas Suportado por vários Browsers
  10. 10. Prós Suportado por vários Browsers Contras Contras Problemas com peculiaridades de cada Browser. Muito difícil de tratar os erros
  11. 11. Prós Conexão persistente. Não necessidta de um protocolo especial implementado no servidor. Contras Nâo é suportado pelo Internet Explorer. Trabalha apenas na direção: Server > Client.
  12. 12. Prós Conexão persistente nas duas direções. Melhor performance. Contras Requer protocolo WEB SOCKET IE 10 e demais browsers (versões atualizadas) Requer protocolo WEB SOCKET no Servidor (IIS8)
  13. 13. E agora... Para onde seguir?
  14. 14. David Fowler @davidfowl Damian Edwards @damianedwards Desenvolvida por funcionários da Microsoft da equipe ASP.NET Combinando uma biblioteca ASP .NET no lado do servidor e uma biblioteca JavaScript do lado cliente
  15. 15. Transportes Conexiones persistentes Long polling Server-sent events Forever frame WebSockets Hubs Protocolos internet Abstracción
  16. 16. Aplicação .NET (Server Side) HUB API API de Conexão Persistente Transportes HTML5 Comet Web Sockets Server Sent Events Forever Frame Ajax Long Polling Browser (Client Side) HUB API API de Conexão Persistente Transportes Browser (Client Side) HUB API API de Conexão Persistente Transportes Browser (Client Side) HUB API API de Conexão Persistente Transportes Servidor Clientes
  17. 17. Servidor (Conexión persistente)Cliente (javascript) var conn = $.connection(“MyConn”); conn.start(); conn.send(“hi, all!”); conn.receive(function(text) { $(“#log”) .append(“<li>”+text+”</li>”); }); class MyConn: PersistentConnection { override Task OnConnectedAsync() { … } override Task OnReceivedAsync(string data) { return Connection.Broadcast(data); } override Task OnDisconnectAsync() { ... } }
  18. 18. Servidor (Hub) Cliente (javascript) var chat = $.connection.chatHub; $.connection.hub.start(); chat.enviar(“hi, all!”); chat.recibir = function(text) { $(“#log”) .append(“<li>”+text+”</li>”); }; Proxy class ChatHub: Hub { public void enviar(string text) { Clients.recibir(text); } }
  19. 19. • JQuery WinRT Native .NET Android (via Mono) WP7 Silverlight CLIENTES iOS HOSTS
  20. 20. 1. 2. PM> Install-Package Microsoft.AspNet.SignalR
  21. 21. 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
  22. 22. <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”
  23. 23.  Backplane  Azure Service Bus  Requisitos Websocket no Azure Websites  ASP.NET 4.5  Habilitar no painel
  24. 24. • HTTP://SHOOTR.SIGNALR.NET/ • HTTPS://JABBR.NET
  25. 25. • HTTPS://TWITTER.COM/DAMIANEDWARDS • HTTP://ASP.NET/SIGNALR • HTTP://GIFTHUB.COM/SIGNALR/SIGNALR • HTTP://100LOOP.COM • HTTP://GIFTHUB.COM/IVANPAULOVICH/ASPNETCONF • HTTP://VIMEO.COM/84677185 • HTTP://EDUARDOPIRES.NET.BR/ • NET PONTO GLAUCO GODOI • DISCUSSÃO INTERESSANTE SOBRE OS TIPOS DE COMUNICAÇÃO
  26. 26. MANTENHA CONTATO NO WWW.100LOOP.COM ANDRÉ PAULOVICH PAULOVICH@100LOOP.COM IVAN PAULOVICH - IVAN@100LOOP.COM

×