SlideShare une entreprise Scribd logo
1  sur  11
Local Touch – Global Reach




  Intro to SignalR + Awesome Mobile Possibilities !



Samidip Basu
Solutions Lead | MSFT Mobility
Email: Samidip.Basu@us.sogeti.com
Twitter: @samidip
Info: http://samidipbasu.info
Blog: http://samidipbasu.com

Sogeti USA
8425 Pulsar Place, Suite 300 | Columbus, OH 43240.
www.us.sogeti.com




                                                                   www.us.sogeti.com
Central Ohio Windows Phone User Group
http://cowpug.org
http://meetup.com/cowpug
@cowpug
3rd Monday @ TechColumbus
Why do we need real-time?
New email

Twitter/Facebook updates

Stock Ticker/Live Auctions

Game Scores

Real-time Notifications

Turn-by-Turn Games

Collaboration

Progress Bars

And obviously, Chat
Existing Technologies
HTTP – purely Request/Response protocol

Internet – stateless; servers don’t call your app back

Consumption model .. But we’ve learnt tricks

Periodic/Ajax Polling – not real-time, bandwidth misuse




                                    Image courtesy
Existing Technologies ..
Contd.
    Use plugins like SL/Flash – to access sockets

    Native Web Sockets help – but low level & support flaky

    Long Polling – server does not respond unless X happens,
                  client polls after data receive or time-out




                                       Image courtesy @maartenballiauw
Enter SignalR
An async, persistent connection/signalling library for .NET ... aids in building
   real time, multi-user connected applications.

Persistent client-server connection over best transport .. Abstracts away the
   transport layer.

From ASP.NET team-members (Damian Edwards & David Fowler) ..
   Not officially MSFT product, but OSS Booyah 

https://github.com/SignalR/SignalR
http://jabbr.net/#/rooms/signal

SignalR is broken up into a few packages on NuGet:
    SignalR - Package for SignalR.Server and SignalR.Js
    SignalR.Server - Server components needed for SignalR endpoints
    SignalR.Js - Javascript client for SignalR
    SignalR.Client - .NET client for SignalR
    SignalR.WP7 & SignalR.Silverlight – For the cool folks 
    SignalR.WebSockets - WebSocket Transport for SignalR
Live Demos
Whoa .. What happened here?

Client calls server; Server calls client; seamlessly

No polling, at least in our code

Server maintains Clients .. Broadcast to all, group or individual clients

Low level – PersistentConnection; more control

Abstraction – Hub; easier to use
Where does this fit?
Other technologies have solved this problem

Socket.IO is a client-side Jscript library that talks to node.js

Nowjs supports namespace sync between client-server

Primary SignalR advantages

    → Simplicity & ease of use
    → Works natively in .NET
    → Works out of browser
    → Supports Web Sockets through a NuGet package
      [ASP.NET 4.5/IIS 8 on Win8 only]
       WebSocket is a web technology providing for multiplexing bi-directional, full-duplex
         communications channels over a single TCP connection. Still being standardized.
    → Works on other platforms
SignalR Client for iOS




http://dyknow.github.com/SignalR-ObjC/
SignalR Client for Mono




http://blog.rthand.com/post/2012/03/14/SignalR-client-on-Mono-for-Android.aspx
Local Touch – Global Reach




Questions?

Thank you !!

@samidip




                             www.us.sogeti.com

Contenu connexe

Similaire à SignalR Intro + WPDev

SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!
Sam Basu
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!
Sam Basu
 
Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone Developer
Sam Basu
 
Azure + WP7 - CodePaLOUsa
Azure + WP7 - CodePaLOUsaAzure + WP7 - CodePaLOUsa
Azure + WP7 - CodePaLOUsa
Sam Basu
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
Sam Basu
 
Biztalk Server 2006
Biztalk Server 2006Biztalk Server 2006
Biztalk Server 2006
ipaciti
 
Azure & WP7 at GRDevDay
Azure & WP7 at GRDevDayAzure & WP7 at GRDevDay
Azure & WP7 at GRDevDay
Sam Basu
 
ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure
ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and AzureITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure
ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure
Florin Cardasim
 

Similaire à SignalR Intro + WPDev (20)

SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!
 
Webrtc in Real world
Webrtc in Real world Webrtc in Real world
Webrtc in Real world
 
Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone Developer
 
Azure + WP7 - CodePaLOUsa
Azure + WP7 - CodePaLOUsaAzure + WP7 - CodePaLOUsa
Azure + WP7 - CodePaLOUsa
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & Azure
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and Tomorrow
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 
Yatoto-technical
Yatoto-technicalYatoto-technical
Yatoto-technical
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
 
Building Real time Application with Azure SignalR Service
Building Real time Application with Azure SignalR ServiceBuilding Real time Application with Azure SignalR Service
Building Real time Application with Azure SignalR Service
 
TechHub pitch
TechHub pitchTechHub pitch
TechHub pitch
 
Biztalk Server 2006
Biztalk Server 2006Biztalk Server 2006
Biztalk Server 2006
 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)
 
Azure & WP7 at GRDevDay
Azure & WP7 at GRDevDayAzure & WP7 at GRDevDay
Azure & WP7 at GRDevDay
 
Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
 
ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure
ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and AzureITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure
ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 

Plus de Sam Basu

Plus de Sam Basu (20)

Surfing in Maui
Surfing in MauiSurfing in Maui
Surfing in Maui
 
Modern Cross-Platform Dev with .NET 6
Modern Cross-Platform Dev with .NET 6Modern Cross-Platform Dev with .NET 6
Modern Cross-Platform Dev with .NET 6
 
Conversational Bots
Conversational BotsConversational Bots
Conversational Bots
 
Real Time Apps with SignalR Core
Real Time Apps with SignalR CoreReal Time Apps with SignalR Core
Real Time Apps with SignalR Core
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
.NET Today & Tomorrow @ Beer City Code
.NET Today & Tomorrow @ Beer City Code.NET Today & Tomorrow @ Beer City Code
.NET Today & Tomorrow @ Beer City Code
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin Developers
 
Modern Web Tour
Modern Web TourModern Web Tour
Modern Web Tour
 
Flying High with Xamarin!
Flying High with Xamarin!Flying High with Xamarin!
Flying High with Xamarin!
 
Xamarin Roadshow
Xamarin RoadshowXamarin Roadshow
Xamarin Roadshow
 
Flying High with Xamarin
Flying High with XamarinFlying High with Xamarin
Flying High with Xamarin
 
Lap Around ASPNet Core - HDC
Lap Around ASPNet Core - HDCLap Around ASPNet Core - HDC
Lap Around ASPNet Core - HDC
 
Lap around ASP.NET 5 - Dayton UG
Lap around ASP.NET 5 - Dayton UGLap around ASP.NET 5 - Dayton UG
Lap around ASP.NET 5 - Dayton UG
 
A Lap around ASP.NET 5 - VConf
A Lap around ASP.NET 5 - VConfA Lap around ASP.NET 5 - VConf
A Lap around ASP.NET 5 - VConf
 
Modern .NET Apps - TelerikNext
Modern .NET Apps - TelerikNextModern .NET Apps - TelerikNext
Modern .NET Apps - TelerikNext
 
Modern .NET Apps - Codestock
Modern .NET Apps - CodestockModern .NET Apps - Codestock
Modern .NET Apps - Codestock
 
A Lap around ASP.NET 5 - Codestock
A Lap around ASP.NET 5 - CodestockA Lap around ASP.NET 5 - Codestock
A Lap around ASP.NET 5 - Codestock
 
Modern .NET Apps - Telerik Webinar
Modern .NET Apps - Telerik WebinarModern .NET Apps - Telerik Webinar
Modern .NET Apps - Telerik Webinar
 
Modern .NET Apps Workshop
Modern .NET Apps WorkshopModern .NET Apps Workshop
Modern .NET Apps Workshop
 
Cloud Backend for Mobile Apps
Cloud Backend for Mobile AppsCloud Backend for Mobile Apps
Cloud Backend for Mobile Apps
 

Dernier

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

SignalR Intro + WPDev

  • 1. Local Touch – Global Reach Intro to SignalR + Awesome Mobile Possibilities ! Samidip Basu Solutions Lead | MSFT Mobility Email: Samidip.Basu@us.sogeti.com Twitter: @samidip Info: http://samidipbasu.info Blog: http://samidipbasu.com Sogeti USA 8425 Pulsar Place, Suite 300 | Columbus, OH 43240. www.us.sogeti.com www.us.sogeti.com
  • 2. Central Ohio Windows Phone User Group http://cowpug.org http://meetup.com/cowpug @cowpug 3rd Monday @ TechColumbus
  • 3. Why do we need real-time? New email Twitter/Facebook updates Stock Ticker/Live Auctions Game Scores Real-time Notifications Turn-by-Turn Games Collaboration Progress Bars And obviously, Chat
  • 4. Existing Technologies HTTP – purely Request/Response protocol Internet – stateless; servers don’t call your app back Consumption model .. But we’ve learnt tricks Periodic/Ajax Polling – not real-time, bandwidth misuse Image courtesy
  • 5. Existing Technologies .. Contd. Use plugins like SL/Flash – to access sockets Native Web Sockets help – but low level & support flaky Long Polling – server does not respond unless X happens, client polls after data receive or time-out Image courtesy @maartenballiauw
  • 6. Enter SignalR An async, persistent connection/signalling library for .NET ... aids in building real time, multi-user connected applications. Persistent client-server connection over best transport .. Abstracts away the transport layer. From ASP.NET team-members (Damian Edwards & David Fowler) .. Not officially MSFT product, but OSS Booyah  https://github.com/SignalR/SignalR http://jabbr.net/#/rooms/signal SignalR is broken up into a few packages on NuGet: SignalR - Package for SignalR.Server and SignalR.Js SignalR.Server - Server components needed for SignalR endpoints SignalR.Js - Javascript client for SignalR SignalR.Client - .NET client for SignalR SignalR.WP7 & SignalR.Silverlight – For the cool folks  SignalR.WebSockets - WebSocket Transport for SignalR
  • 7. Live Demos Whoa .. What happened here? Client calls server; Server calls client; seamlessly No polling, at least in our code Server maintains Clients .. Broadcast to all, group or individual clients Low level – PersistentConnection; more control Abstraction – Hub; easier to use
  • 8. Where does this fit? Other technologies have solved this problem Socket.IO is a client-side Jscript library that talks to node.js Nowjs supports namespace sync between client-server Primary SignalR advantages → Simplicity & ease of use → Works natively in .NET → Works out of browser → Supports Web Sockets through a NuGet package [ASP.NET 4.5/IIS 8 on Win8 only] WebSocket is a web technology providing for multiplexing bi-directional, full-duplex communications channels over a single TCP connection. Still being standardized. → Works on other platforms
  • 9. SignalR Client for iOS http://dyknow.github.com/SignalR-ObjC/
  • 10. SignalR Client for Mono http://blog.rthand.com/post/2012/03/14/SignalR-client-on-Mono-for-Android.aspx
  • 11. Local Touch – Global Reach Questions? Thank you !! @samidip www.us.sogeti.com