ANDRÉ PAULOVICH IVAN PAULOVICH
AspNet Conference Brasil
João Pessoa...
Paraíba – Oxente!
Belo Horizonte...
Minas Gerais – Uai!
www.100loop.com
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
HTTP != “Tempo real”
Contras
Atraso nas atualizações
Sobrecarrega o server com requests
desnecessários
Prós
Sem atraso nas respostas
Múltiplos requests
Contras
Baixa carga no servidor
Existem técnicas mais rápidas
Suportado p...
Prós
Suportado por vários Browsers
Contras
Contras Problemas com peculiaridades de
cada Browser.
Muito difícil de tratar o...
Prós
Conexão persistente.
Não necessidta de um protocolo especial
implementado no servidor.
Contras
Nâo é suportado pelo I...
Prós
Conexão persistente nas duas direções.
Melhor performance.
Contras
Requer protocolo WEB SOCKET IE 10 e demais
browser...
E agora...
Para onde seguir?
David Fowler
@davidfowl
Damian Edwards
@damianedwards
Desenvolvida por funcionários da
Microsoft da equipe ASP.NET
Combina...
Transportes
Conexiones persistentes
Long polling
Server-sent
events
Forever
frame
WebSockets
Hubs
Protocolos internet
Abst...
Aplicação .NET (Server Side)
HUB API
API de Conexão Persistente
Transportes
HTML5 Comet
Web Sockets
Server Sent Events
For...
Servidor (Conexión persistente)Cliente (javascript)
var conn = $.connection(“MyConn”);
conn.start();
conn.send(“hi, all!”)...
Servidor
(Hub)
Cliente (javascript)
var chat = $.connection.chatHub;
$.connection.hub.start();
chat.enviar(“hi, all!”);
ch...
•
JQuery
WinRT
Native
.NET
Android
(via Mono)
WP7 Silverlight
CLIENTES
iOS
HOSTS
1.
2.
PM> Install-Package Microsoft.AspNet.SignalR
PUBLIC CLASS SHAPEHUB : HUB
{
//
// RECEBE MENSAGENS DO CLIENTE
//
PUBLIC VOID MOVESHAPE(INT X, INT Y)
{
//
// ENVIA MENSA...
<SCRIPT TYPE="TEXT/JAVASCRIPT">
$(FUNCTION () {
VAR SHAPE = $("#SHAPE");
$.CONNECTION.HUB.START().DONE(FUNCTION () {
SHAPE...
 Backplane
 Azure Service Bus
 Requisitos Websocket no Azure Websites
 ASP.NET 4.5
 Habilitar no painel
•
HTTP://SHOOTR.SIGNALR.NET/
•
HTTPS://JABBR.NET
• HTTPS://TWITTER.COM/DAMIANEDWARDS
• HTTP://ASP.NET/SIGNALR
• HTTP://GIFTHUB.COM/SIGNALR/SIGNALR
• HTTP://100LOOP.COM
• H...
MANTENHA CONTATO NO WWW.100LOOP.COM
ANDRÉ PAULOVICH PAULOVICH@100LOOP.COM
IVAN PAULOVICH - IVAN@100LOOP.COM
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
Próximos SlideShares
Carregando em…5
×

Construindo apps com SignalR - AspNet Conference Brasil

631 visualizações

Publicada em

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

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
631
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no 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

×