SlideShare une entreprise Scribd logo
1  sur  21
ASP.NET SignalR - Comunicação em
real-time simples e para todo mundo
Glauco Godoi
http://netponto.org38ª Reunião Presencial - 20/04/2013
Glauco Godoi
- Senior Solution Architect @ Truewind-Chiron
- Foco em desenvolvimento web na plataforma
Microsoft;
- glauco.godoi@truewind-chiron.com
- Linked-in: pt.linkedin.com/in/glaucorgodoi/
ASP.Net SignalR – simple real-time
Agenda
- Comunicação em tempo real
- SignalR
- Utilização básica do SignalR
- Clientes disponíveis
- Q & A
ASP.Net SignalR – simple real-time
Comunicação em tempo real
- O que é ?
- Onde poderia utilizar ?
- Como podemos implementar ?
Jogos
Aplicações de chat
Logging, exception capturing
Real-time charting
Aplicações colaborativas
Banca
ASP.Net SignalR – simple real-time
- Pedidos HTTP
No mundo web a funcionar sobre HTTP estamos
presos ao paradigma RR (Request X Respose)
Response
Request
ASP.Net SignalR – simple real-time
- Simulando o real-time
Polling
Já tem dados? Não! Já tem dados? Não! Já tem dados ? Sim!
Javascript
<meta http-equiv="refresh" content="5" >
ASP.Net SignalR – simple real-time
- Simulando o real-time
Long polling
Javascript
Já tem dados? ….. Não! Já tem dados ? …… tu-tu-tu-tu-tu
ASP.Net SignalR – simple real-time
- Simulando o real-time
Forever frame
Javascript injectado directamente na página através de um
iframe cujo documento nunca termina
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<iframe src="myservice.ashx"></iframe>
</body>
</html>
ASP.Net SignalR – simple real-time
- Simulando o real-time
Server sent events
Tecnologia padronizada pelo W3C no HTML5. Exige um
pedido de conexão inicial por parte do cliente.
http://dev.w3.org/html5/eventsource/
Não é suportado nativamente pelo IE
ASP.Net SignalR – simple real-time
Usage share of desktop browsers for March 2013
Source Chrome
Internet
Explorer
Firefox Safari
Opera Other
StatCounter 38.07% 29.30% 20.87% 8.50% 1.17% 2.09%
Wikimedia 44.06% 22.08% 18.17% 3.24% 3.38% 9.07 %
W3Counter 30.30% 24.60% 19.30% 16.30% 2.30% 7.20%
NetApplicati
ons
16.45% 55.83% 20.21% 5.31% 1.74% 0.20%
Clicky 35.13% 33.38% 21.18% 8.92% 1.15% n/a%
ASP.Net SignalR – simple real-time
- Simulando o real-time
Websockets
Faz parte do HTML5. Permite comunicação bidireccional.
Pode ser consumido por browsers ou outros clientes.
Cria uma conexão persistente.
É uma extensão ao protocolo HTTP: ws e wss
ASP.Net SignalR – simple real-time
Kobayashi maru
ASP.Net SignalR – simple real-time
- SignalR
- Fachada sobre as técnicas e tecnologias
- Não é um projecto oficial da MS—-
- Faz parte do ASP.NET
- Licença do tipo MIT Apache 2.0 License
- Disponível através do nuget
- Dois modelos de conexão: Persistent connection & Hubs
ASP.Net SignalR – simple real-time
DEMO
ASP.Net SignalR – simple real-time
Clientes disponíveis
• Javascript
• .NET (wpf/silverlight, console, etc…)
• Objective-C (ios, macos X)
• Android
ASP.Net SignalR – simple real-time
Resumo
• Comunicação real-time é uma tendência crescente;
• Existem várias formas de implementa-la. Cada uma delas com vantagens e desvantagens;
• SignalR é uma opção interessante pois simplifica o trabalho do developer;
• SignalR não é a única opção. Socket.IO e Node.js também fazem um trabalho muito bom
porém SignalR é uma escolha mais “simples” se todo o stack aplicacional for Microsoft.
• Testem sempre em vários browsers / clientes
ASP.Net SignalR – simple real-time
Q & A
ASP.Net SignalR – simple real-time
Obrigado
Patrocinador “GOLD”
Twitter: @PTMicrosoft http://www.microsoft.com/portugal
Patrocinadores “Silver”
Patrocinadores “Bronze”

Contenu connexe

Tendances

10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...Renato Groff
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPRobert Silva
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterEdlaine Zamora
 
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Renato Groff
 
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Renato Groff
 
GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?Wender Machado
 
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Renato Groff
 
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD....NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...Renato Groffe
 
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Renato Groffe
 
Python com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverPython com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverRobson Agapito Correa
 
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Renato Groff
 
Introdução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIsIntrodução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIsFernando Henriques
 
Testes em uma arquitetura com messageria/streaming (Kafka)
Testes em uma arquitetura com messageria/streaming (Kafka)Testes em uma arquitetura com messageria/streaming (Kafka)
Testes em uma arquitetura com messageria/streaming (Kafka)Robson Agapito Correa
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Renato Groff
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupPamela Canchanya
 
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaA aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaRobson Agapito Correa
 
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRDesenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRRodrigo Kono
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 

Tendances (20)

10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
Criando sua stack de deploy php com git, jenkins e ansible
Criando sua stack de deploy php com git, jenkins e ansibleCriando sua stack de deploy php com git, jenkins e ansible
Criando sua stack de deploy php com git, jenkins e ansible
 
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
 
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
 
GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?
 
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
 
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD....NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
 
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
 
Os Desafios no Cartola FC - React Conf 2020
Os Desafios no Cartola FC - React Conf 2020Os Desafios no Cartola FC - React Conf 2020
Os Desafios no Cartola FC - React Conf 2020
 
Python com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverPython com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium Webdriver
 
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
 
Introdução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIsIntrodução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIs
 
Testes em uma arquitetura com messageria/streaming (Kafka)
Testes em uma arquitetura com messageria/streaming (Kafka)Testes em uma arquitetura com messageria/streaming (Kafka)
Testes em uma arquitetura com messageria/streaming (Kafka)
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaA aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
 
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRDesenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 

En vedette

Construindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRConstruindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRIvan Paulovich
 
Construindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRConstruindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRIvan Paulovich
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETEduardo Pires
 
Curso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoCurso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoVinicius Quaiato
 
Domain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCDomain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCSteven Smith
 

En vedette (6)

Construindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRConstruindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalR
 
Construindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRConstruindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalR
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NET
 
Curso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoCurso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius Quaiato
 
Domain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCDomain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVC
 

Similaire à ASP.NET Signal R - Glauco Godoi

Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTImarcochella
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayRenato Groff
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Renato Groff
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIMinicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIRenato Groffe
 
Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosFábio Rosato
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPMichael Douglas
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas InternetLuiz Domingues
 
Comunicação em tempo real com WebRTC
Comunicação em tempo real com WebRTCComunicação em tempo real com WebRTC
Comunicação em tempo real com WebRTCAlberto Souza
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019Renato Groff
 
Apresentação Gtac Solutions Desenvolvimento De Software
Apresentação   Gtac Solutions   Desenvolvimento De SoftwareApresentação   Gtac Solutions   Desenvolvimento De Software
Apresentação Gtac Solutions Desenvolvimento De Softwaregustavo_gtac
 
ApresentaçãO Final
ApresentaçãO FinalApresentaçãO Final
ApresentaçãO FinalHotSpy2009
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2016POA | Trilha Web - Realtime applications com Socket.io
TDC2016POA | Trilha Web - Realtime applications com Socket.ioTDC2016POA | Trilha Web - Realtime applications com Socket.io
TDC2016POA | Trilha Web - Realtime applications com Socket.iotdc-globalcode
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows LiveRogerio Cordeiro
 
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...Embarcados
 
Conheça técnicas para aumentar o ROI do projeto de monitoramento
Conheça técnicas para aumentar o ROI do projeto de monitoramentoConheça técnicas para aumentar o ROI do projeto de monitoramento
Conheça técnicas para aumentar o ROI do projeto de monitoramentoNetwall
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaPietro Scherer
 

Similaire à ASP.NET Signal R - Glauco Godoi (20)

Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTI
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIMinicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API
 
Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travados
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHP
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas Internet
 
Comunicação em tempo real com WebRTC
Comunicação em tempo real com WebRTCComunicação em tempo real com WebRTC
Comunicação em tempo real com WebRTC
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoas
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
 
Apresentação Gtac Solutions Desenvolvimento De Software
Apresentação   Gtac Solutions   Desenvolvimento De SoftwareApresentação   Gtac Solutions   Desenvolvimento De Software
Apresentação Gtac Solutions Desenvolvimento De Software
 
ApresentaçãO Final
ApresentaçãO FinalApresentaçãO Final
ApresentaçãO Final
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2016POA | Trilha Web - Realtime applications com Socket.io
TDC2016POA | Trilha Web - Realtime applications com Socket.ioTDC2016POA | Trilha Web - Realtime applications com Socket.io
TDC2016POA | Trilha Web - Realtime applications com Socket.io
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows Live
 
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Conheça técnicas para aumentar o ROI do projeto de monitoramento
Conheça técnicas para aumentar o ROI do projeto de monitoramentoConheça técnicas para aumentar o ROI do projeto de monitoramento
Conheça técnicas para aumentar o ROI do projeto de monitoramento
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - Monografia
 

Plus de Comunidade NetPonto

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Comunidade NetPonto
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Comunidade NetPonto
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaComunidade NetPonto
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloComunidade NetPonto
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazComunidade NetPonto
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João JesusComunidade NetPonto
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsComunidade NetPonto
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpComunidade NetPonto
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosComunidade NetPonto
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoComunidade NetPonto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realComunidade NetPonto
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComunidade NetPonto
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteComunidade NetPonto
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Comunidade NetPonto
 
Sessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto FerrariSessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto FerrariComunidade NetPonto
 

Plus de Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
 
Sessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto FerrariSessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto Ferrari
 
NuGet no Contexto Empresarial
NuGet no Contexto EmpresarialNuGet no Contexto Empresarial
NuGet no Contexto Empresarial
 

Dernier

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 

Dernier (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 

ASP.NET Signal R - Glauco Godoi

  • 1. ASP.NET SignalR - Comunicação em real-time simples e para todo mundo Glauco Godoi http://netponto.org38ª Reunião Presencial - 20/04/2013
  • 2. Glauco Godoi - Senior Solution Architect @ Truewind-Chiron - Foco em desenvolvimento web na plataforma Microsoft; - glauco.godoi@truewind-chiron.com - Linked-in: pt.linkedin.com/in/glaucorgodoi/
  • 3. ASP.Net SignalR – simple real-time Agenda - Comunicação em tempo real - SignalR - Utilização básica do SignalR - Clientes disponíveis - Q & A
  • 4. ASP.Net SignalR – simple real-time Comunicação em tempo real - O que é ? - Onde poderia utilizar ? - Como podemos implementar ? Jogos Aplicações de chat Logging, exception capturing Real-time charting Aplicações colaborativas Banca
  • 5. ASP.Net SignalR – simple real-time - Pedidos HTTP No mundo web a funcionar sobre HTTP estamos presos ao paradigma RR (Request X Respose) Response Request
  • 6. ASP.Net SignalR – simple real-time - Simulando o real-time Polling Já tem dados? Não! Já tem dados? Não! Já tem dados ? Sim! Javascript <meta http-equiv="refresh" content="5" >
  • 7. ASP.Net SignalR – simple real-time - Simulando o real-time Long polling Javascript Já tem dados? ….. Não! Já tem dados ? …… tu-tu-tu-tu-tu
  • 8. ASP.Net SignalR – simple real-time - Simulando o real-time Forever frame Javascript injectado directamente na página através de um iframe cujo documento nunca termina <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <iframe src="myservice.ashx"></iframe> </body> </html>
  • 9. ASP.Net SignalR – simple real-time - Simulando o real-time Server sent events Tecnologia padronizada pelo W3C no HTML5. Exige um pedido de conexão inicial por parte do cliente. http://dev.w3.org/html5/eventsource/ Não é suportado nativamente pelo IE
  • 10. ASP.Net SignalR – simple real-time Usage share of desktop browsers for March 2013 Source Chrome Internet Explorer Firefox Safari Opera Other StatCounter 38.07% 29.30% 20.87% 8.50% 1.17% 2.09% Wikimedia 44.06% 22.08% 18.17% 3.24% 3.38% 9.07 % W3Counter 30.30% 24.60% 19.30% 16.30% 2.30% 7.20% NetApplicati ons 16.45% 55.83% 20.21% 5.31% 1.74% 0.20% Clicky 35.13% 33.38% 21.18% 8.92% 1.15% n/a%
  • 11. ASP.Net SignalR – simple real-time - Simulando o real-time Websockets Faz parte do HTML5. Permite comunicação bidireccional. Pode ser consumido por browsers ou outros clientes. Cria uma conexão persistente. É uma extensão ao protocolo HTTP: ws e wss
  • 12. ASP.Net SignalR – simple real-time Kobayashi maru
  • 13. ASP.Net SignalR – simple real-time - SignalR - Fachada sobre as técnicas e tecnologias - Não é um projecto oficial da MS—- - Faz parte do ASP.NET - Licença do tipo MIT Apache 2.0 License - Disponível através do nuget - Dois modelos de conexão: Persistent connection & Hubs
  • 14. ASP.Net SignalR – simple real-time DEMO
  • 15. ASP.Net SignalR – simple real-time Clientes disponíveis • Javascript • .NET (wpf/silverlight, console, etc…) • Objective-C (ios, macos X) • Android
  • 16. ASP.Net SignalR – simple real-time Resumo • Comunicação real-time é uma tendência crescente; • Existem várias formas de implementa-la. Cada uma delas com vantagens e desvantagens; • SignalR é uma opção interessante pois simplifica o trabalho do developer; • SignalR não é a única opção. Socket.IO e Node.js também fazem um trabalho muito bom porém SignalR é uma escolha mais “simples” se todo o stack aplicacional for Microsoft. • Testem sempre em vários browsers / clientes
  • 17. ASP.Net SignalR – simple real-time Q & A
  • 18. ASP.Net SignalR – simple real-time Obrigado
  • 19. Patrocinador “GOLD” Twitter: @PTMicrosoft http://www.microsoft.com/portugal