• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Construindo apps com SignalR - AspNet Conference Brasil
 

Construindo apps com SignalR - AspNet Conference Brasil

on

  • 123 views

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

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

Statistics

Views

Total Views
123
Views on SlideShare
121
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 2

https://www.linkedin.com 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Construindo apps com SignalR - AspNet Conference Brasil Construindo apps com SignalR - AspNet Conference Brasil Presentation Transcript

    • 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 por vários Browsers
    • Prós Suportado por vários Browsers Contras Contras Problemas com peculiaridades de cada Browser. Muito difícil de tratar os erros
    • 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.
    • 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)
    • E agora... Para onde seguir?
    • 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
    • Transportes Conexiones persistentes Long polling Server-sent events Forever frame WebSockets Hubs Protocolos internet Abstracción
    • 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
    • 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() { ... } }
    • 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); } }
    • • 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 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
    • <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”
    •  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 • 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
    • MANTENHA CONTATO NO WWW.100LOOP.COM ANDRÉ PAULOVICH PAULOVICH@100LOOP.COM IVAN PAULOVICH - IVAN@100LOOP.COM