Local Touch – Global Reach  Intro to SignalR + Awesome Mobile Possibilities!Samidip BasuSolutions Lead | MSFT MobilityEmai...
Why do we need real-time?New emailTwitter/Facebook updatesStock Ticker/Live AuctionsGame ScoresReal-time NotificationsTurn...
Existing TechnologiesHTTP – purely Request/Response protocolInternet – stateless; servers don’t call your app backConsumpt...
Existing Technologies ..Contd. plugins like SL/Flash – to access sockets    Use        Native Web Sockets (Magic Unicorn w...
Enter SignalRAn async, persistent connection/signalling library for .NET over HTTP ... aids in   building real time, multi...
Live Demos & WalkthroughClient calls server; Server calls client; seamlessly – Whoa!No polling, at least in our codeLow le...
Where does this fit?Other technologies have solved this problemSocket.IO is a client-side Jscript library that talks to no...
SignalR Client for iOShttp://dyknow.github.com/SignalR-ObjC/
SignalR Client for Monohttp://blog.rthand.com/post/2012/03/14/SignalR-client-on-Mono-for-Android.aspx
Local Touch – Global ReachQuestions?Thank you !!@samidip                             www.us.sogeti.com
SignalR + Mobile Possibilities (CodeMash)
Upcoming SlideShare
Loading in...5
×

SignalR + Mobile Possibilities (CodeMash)

1,330

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,330
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SignalR + Mobile Possibilities (CodeMash)"

  1. 1. Local Touch – Global Reach Intro to SignalR + Awesome Mobile Possibilities!Samidip BasuSolutions Lead | MSFT MobilityEmail: Samidip.Basu@us.sogeti.comTwitter: @samidipBlog: http://samidipbasu.comSogeti USA8425 Pulsar Place, Suite 300 | Columbus, OH 43240.www.us.sogeti.com www.us.sogeti.com
  2. 2. Why do we need real-time?New emailTwitter/Facebook updatesStock Ticker/Live AuctionsGame ScoresReal-time NotificationsTurn-by-Turn or Shooter GamesCollaborationProgress BarsAnd obviously, Chat
  3. 3. Existing TechnologiesHTTP – purely Request/Response protocolInternet – stateless; servers don’t call your app backConsumption model .. But we’ve learnt tricksPeriodic/Ajax Polling – not real-time, bandwidth misuse Image courtesy @maartenballiauw
  4. 4. Existing Technologies ..Contd. plugins like SL/Flash – to access sockets Use Native Web Sockets (Magic Unicorn world) – but low level & support flaky Long Polling – server does not respond unless X happens, client polls after data receive or time-out Forever Frame (execute script blocks from server in iFrame) Server sent Events (Push or Stream from server) Image courtesy @maartenballiauw
  5. 5. Enter SignalRAn async, persistent connection/signalling library for .NET over HTTP ... 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 Boom! https://github.com/SignalR/SignalRhttp://jabbr.net/#/rooms/signalhttp://shootr.signalr.net/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.WinRT, SignalR.Silverlight – For the cool folks  SignalR.WebSockets - WebSocket Transport for SignalR
  6. 6. Live Demos & WalkthroughClient calls server; Server calls client; seamlessly – Whoa!No polling, at least in our codeLow level – PersistentConnection more controlAbstraction – Hub easier to use like spokes on a wheel, broadcastingServer maintains Clients .. Broadcast to all, group or individual clientsBuilt-in Retry logic if transport failsSupports scaling out to web farms - backplane support through Service Bus or Redis (in memory DB) to pump messages between multiple servers
  7. 7. Where does this fit?Other technologies have solved this problemSocket.IO is a client-side Jscript library that talks to node.jsNowjs supports namespace sync between client-serverPrimary SignalR advantages → Simplicity & ease of use → Works natively in .NET → Works out of browser → Supports Web Sockets for best transport [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, specially mobile
  8. 8. SignalR Client for iOShttp://dyknow.github.com/SignalR-ObjC/
  9. 9. SignalR Client for Monohttp://blog.rthand.com/post/2012/03/14/SignalR-client-on-Mono-for-Android.aspx
  10. 10. Local Touch – Global ReachQuestions?Thank you !!@samidip www.us.sogeti.com

×