SlideShare uma empresa Scribd logo
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

MVP ShowCast 2013

Construindo Apps de tempo real com SignalR
Ivan Paulovich
ASP.NET/IIS
Arquiteto de Softwares – BHS
@ivanpaulovich | http://fb.com/ivanpaulovich
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
SESSÃO: DESENVOLVIMENTO

Agenda
♦ O que é SignalR?
♦ Comunicação
♦ Instalação
♦ Demo!
♦ SignalR no servidor e no cliente
♦ Demos e mais demos!
♦ Referências

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

O que é SignalR?
♦ Uma camada de abstração para comunicação assíncrona

♦ Permite comunicação bi-direcional
♦ O cliente pode chamar métodos no servidor
♦ O servidor pode chamar métodos do cliente em tempo real

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Comunicação
$.connection.JogoHub.server.movimentaJogador(..)

Aplicação HTMl/JS
MovimentaJogador(..)

Clients.All.AtualizaPosicao()

$.connection.JogoHub.client.atualizaPosicao(..)

Aplicação HTML/JS

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
SESSÃO: DESENVOLVIMENTO

Instalação
♦ Através Nuget
PM> Install-Package Microsoft.AspNet.SignalR

♦ Ou a partir de arquivos dos tipos
♦ SignalR Hub Class (v2)
♦ SignalR Persistent Connection Class (v2)

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Demo
Importante!
Conferir Versão do Javascript do SignalR e
do jQuery

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

SignalR no servidor e no cliente
♦ Hub Class (servidor)
♦ Hub Proxy (cliente)
♦ Callbacks, Anomyous Methods

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Hub Class (servidor)
♦ Simples definição do Hub
♦ Implementação dos métodos
♦ Uso intensivo de Anonymous Methods

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);

}
}

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Hub Proxy (cliente)
♦ Implementação dos métodos
no cliente “.client”
♦ Pode chamar métodos no
servidor “.server”

<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>

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
SESSÃO: DESENVOLVIMENTO

Demo
♦ Movendo Objetos

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Onde você pode usar?
♦ Apps altamente interativas
♦ Dashboards
♦ Apps com colaboração entre clientes
♦ Jogos

♦ Dispositivos
♦
♦
♦
♦
♦

Windows Phone
Mobile
Desktop (Chrome, Opera, Firefox, IE)
Aplicativos .NET
IOs

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Demo
♦ ShootR
http://shootr.signalr.net/
♦ JabbR
https://jabbr.net

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Demo
♦ Sala de Bate Papo

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Demo
♦ Comunicação entre dispositivos diferentes

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Demo
♦ Jogo da Velha

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

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

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB
SESSÃO: DESENVOLVIMENTO

Perguntas & Respostas

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: DESENVOLVIMENTO WEB

Mais conteúdo relacionado

PDF
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
PPTX
Apresentação angular js
PPTX
Como trabalhar com angular js
PPTX
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
PDF
Angular js
PPTX
Primeiros passos no Vue.js
PDF
O poder das Progressive Web Apps
PPTX
Gestão de demandas e workflow utilizando Project Server ou Project Online
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Apresentação angular js
Como trabalhar com angular js
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
Angular js
Primeiros passos no Vue.js
O poder das Progressive Web Apps
Gestão de demandas e workflow utilizando Project Server ou Project Online

Mais procurados (17)

PPTX
Campus Party 2014 - Desenvolvimento Web com ASP.NET
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
PDF
Introdução aos aplicativos tipo canvas
PPTX
Criando aplicações Single-Page com AngularJS
PPTX
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
PPSX
Comunicação em Tempo Real com ASP.Net SignalR
PDF
TDC 2014 - Arquitetura front-end com AngularJS
PDF
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
PDF
Evolução das arquiteturas para aplicações Web
PDF
InterCon - Automatizando Visual Regression Testing
PDF
Sistema gerenciador de conteúdo
PPTX
Automação de Testes com AngularJS
PPTX
PDF
Angular js
PPTX
Scope AngularJS
PDF
O Papel do desenvolvedor Front End
PDF
AngularJS - Just Digital
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Futuro do ASP.NET vNext - MVP ShowCast
Introdução aos aplicativos tipo canvas
Criando aplicações Single-Page com AngularJS
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Comunicação em Tempo Real com ASP.Net SignalR
TDC 2014 - Arquitetura front-end com AngularJS
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
Evolução das arquiteturas para aplicações Web
InterCon - Automatizando Visual Regression Testing
Sistema gerenciador de conteúdo
Automação de Testes com AngularJS
Angular js
Scope AngularJS
O Papel do desenvolvedor Front End
AngularJS - Just Digital
Anúncio

Semelhante a Construindo apps de tempo real com SignalR (20)

PDF
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
PPTX
ASP.NET SignalR + SPA com AngularJS
PPTX
Continuous Delivery com TFS e Release Management for Visual Studio 2013
PPTX
Construindo Apps com ASP.NET SignalR
PPTX
Forneça serviços de Hosting com o Windows Azure Pack
PPTX
Mvp show cast2014-it-security-proxyreversowebapplicationproxywindowsserver2012r2
PPTX
MVP ShowCast IT - Mensageria - Exchange 2013 Virtualização e Melhores Práticas
PPTX
Por que devo utilizar o Windows Azure Pack?
PPTX
MVP ShowCast 2014 - Entendendo Big Data Através da Plataforma Microsoft
PPTX
MVP ShowCast 2014 - O dia a dia do Cientista de Dados
PDF
Gestão de Projetos e Processos - Muito além do trivial [MVP ShowCast 2013 - D...
PPTX
Campus Party - Desenvolvendo aplicações .Net com software gratuito
PPTX
Replicando dados do Project Online com o SQL Server usando o protocolo OData
PPTX
Surpreenda-se com o Silverlight 3
PPTX
MVPShowCast - HDInsight Primeiros Passos com BigData
PPTX
MVP ShowCast IT - Mensageria - Exchange 2013 Firewalls e Protocolos
PPTX
Silverlight no MIC Summer 2011
PPTX
O que há de novo no Microsoft Azure IaaS
PPTX
MVP ShowCast IT Produtividade e colaboração Construindo indicadores e dashboa...
PPTX
Unindo Produtividade com Segurança no Office365
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
ASP.NET SignalR + SPA com AngularJS
Continuous Delivery com TFS e Release Management for Visual Studio 2013
Construindo Apps com ASP.NET SignalR
Forneça serviços de Hosting com o Windows Azure Pack
Mvp show cast2014-it-security-proxyreversowebapplicationproxywindowsserver2012r2
MVP ShowCast IT - Mensageria - Exchange 2013 Virtualização e Melhores Práticas
Por que devo utilizar o Windows Azure Pack?
MVP ShowCast 2014 - Entendendo Big Data Através da Plataforma Microsoft
MVP ShowCast 2014 - O dia a dia do Cientista de Dados
Gestão de Projetos e Processos - Muito além do trivial [MVP ShowCast 2013 - D...
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Replicando dados do Project Online com o SQL Server usando o protocolo OData
Surpreenda-se com o Silverlight 3
MVPShowCast - HDInsight Primeiros Passos com BigData
MVP ShowCast IT - Mensageria - Exchange 2013 Firewalls e Protocolos
Silverlight no MIC Summer 2011
O que há de novo no Microsoft Azure IaaS
MVP ShowCast IT Produtividade e colaboração Construindo indicadores e dashboa...
Unindo Produtividade com Segurança no Office365
Anúncio

Mais de Ivan Paulovich (19)

PDF
DDD Tactical Design with Clean Architecture - Ivan Paulovich
PDF
Clean Architecture Essentials - Stockholm Software Craftsmanship
PDF
Clean Architecture Essentials @ivanpaulovich
PPTX
Building rich domain models with ddd and tdd ivan paulovich - betsson
PPTX
Moving to Microservices
PPTX
Produzindo e consumindo um stream de eventos
PDF
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
PDF
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
PDF
Aggregates com Event Sourcing
PPTX
Estudo do eShopOnContainers
PPTX
Introdução ao Domain-Driven-Design (DDD)
PPTX
Princípios SOLID de OO usando .NET
PPTX
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
PPTX
Windows Azure Mobile Services InfoTech 2014
PPTX
Mercado de ti e suas oportunidades
PPTX
Construindo Apps Com SignalR
PPTX
Levando sua aplicação para a nuvem
PPTX
Conhecendo os recursos do ASP.NET Web API
PPTX
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
DDD Tactical Design with Clean Architecture - Ivan Paulovich
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials @ivanpaulovich
Building rich domain models with ddd and tdd ivan paulovich - betsson
Moving to Microservices
Produzindo e consumindo um stream de eventos
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Aggregates com Event Sourcing
Estudo do eShopOnContainers
Introdução ao Domain-Driven-Design (DDD)
Princípios SOLID de OO usando .NET
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Windows Azure Mobile Services InfoTech 2014
Mercado de ti e suas oportunidades
Construindo Apps Com SignalR
Levando sua aplicação para a nuvem
Conhecendo os recursos do ASP.NET Web API
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript

Último (20)

PPTX
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
PDF
A Revolução Francesa de 1789 slides história
PPTX
HISTÓRIA DO BRASIL - anos de Democracia.pptx
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PDF
A provisão de jojuador (ramadã) islamismo
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PPTX
biossegurança e segurança no trabalho (6).pptx
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
Ocupação e transformação dos territórios.pptx
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PDF
Formação politica brasil_2017.pptx.pdf
PPTX
O Romantismo e a identidade brasileira..
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PPT
sistema reprodutor para turmas do oitavo ano
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
A Revolução Francesa de 1789 slides história
HISTÓRIA DO BRASIL - anos de Democracia.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
Uma Introdução às Ciências do Alcorão (Islam)
A provisão de jojuador (ramadã) islamismo
Metabolismo_energético_3ano_pre_vest_2026.pdf
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
biossegurança e segurança no trabalho (6).pptx
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
Ocupação e transformação dos territórios.pptx
Trabalho Cidades sustentáveis ou Utopia.pptx
Formação politica brasil_2017.pptx.pdf
O Romantismo e a identidade brasileira..
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
Pedagogia em Ambientes Não Escolares.pptx
sistema reprodutor para turmas do oitavo ano

Construindo apps de tempo real com SignalR

  • 1. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB MVP ShowCast 2013 Construindo Apps de tempo real com SignalR Ivan Paulovich ASP.NET/IIS Arquiteto de Softwares – BHS @ivanpaulovich | http://fb.com/ivanpaulovich © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 2. SESSÃO: DESENVOLVIMENTO Agenda ♦ O que é SignalR? ♦ Comunicação ♦ Instalação ♦ Demo! ♦ SignalR no servidor e no cliente ♦ Demos e mais demos! ♦ Referências © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 3. SESSÃO: DESENVOLVIMENTO O que é SignalR? ♦ Uma camada de abstração para comunicação assíncrona ♦ Permite comunicação bi-direcional ♦ O cliente pode chamar métodos no servidor ♦ O servidor pode chamar métodos do cliente em tempo real © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 4. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Comunicação $.connection.JogoHub.server.movimentaJogador(..) Aplicação HTMl/JS MovimentaJogador(..) Clients.All.AtualizaPosicao() $.connection.JogoHub.client.atualizaPosicao(..) Aplicação HTML/JS © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 5. SESSÃO: DESENVOLVIMENTO Instalação ♦ Através Nuget PM> Install-Package Microsoft.AspNet.SignalR ♦ Ou a partir de arquivos dos tipos ♦ SignalR Hub Class (v2) ♦ SignalR Persistent Connection Class (v2) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 6. SESSÃO: DESENVOLVIMENTO Demo Importante! Conferir Versão do Javascript do SignalR e do jQuery © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 7. SESSÃO: DESENVOLVIMENTO SignalR no servidor e no cliente ♦ Hub Class (servidor) ♦ Hub Proxy (cliente) ♦ Callbacks, Anomyous Methods © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 8. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Hub Class (servidor) ♦ Simples definição do Hub ♦ Implementação dos métodos ♦ Uso intensivo de Anonymous Methods 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); } } © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 9. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Hub Proxy (cliente) ♦ Implementação dos métodos no cliente “.client” ♦ Pode chamar métodos no servidor “.server” <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> © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 10. SESSÃO: DESENVOLVIMENTO Demo ♦ Movendo Objetos © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 11. SESSÃO: DESENVOLVIMENTO Onde você pode usar? ♦ Apps altamente interativas ♦ Dashboards ♦ Apps com colaboração entre clientes ♦ Jogos ♦ Dispositivos ♦ ♦ ♦ ♦ ♦ Windows Phone Mobile Desktop (Chrome, Opera, Firefox, IE) Aplicativos .NET IOs © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 12. SESSÃO: DESENVOLVIMENTO Demo ♦ ShootR http://shootr.signalr.net/ ♦ JabbR https://jabbr.net © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 13. SESSÃO: DESENVOLVIMENTO Demo ♦ Sala de Bate Papo © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 14. SESSÃO: DESENVOLVIMENTO Demo ♦ Comunicação entre dispositivos diferentes © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 15. SESSÃO: DESENVOLVIMENTO Demo ♦ Jogo da Velha © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 16. SESSÃO: DESENVOLVIMENTO 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 © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  • 17. SESSÃO: DESENVOLVIMENTO Perguntas & Respostas © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB