SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
1.
Samidip Basu
Windows Phone + SignalR = Awesome Possibilities!
2.
CodeStock is proudly partnered with:
RecruitWise and Staff with Excellence - www.recruitwise.jobs
Send instant feedback on this session via Twitter:
Send a direct message with the room number to @CodeStock
d codestock 503 This session is great!
For more information on sending feedback using Twitter while at
CodeStock, please see the “CodeStock README” in your CodeStock guide.
3.
The Hardest Problems
Solved By the Best Engineers
4.
Local Touch – Global Reach
Intro to SignalR + Awesome Mobile Possibilities !
Samidip Basu
Solutions Lead | MSFT Mobility
Email: Samidip.Basu@us.sogeti.com
Twitter: @samidip
Blog: http://samidipbasu.com
Sogeti USA
8425 Pulsar Place, Suite 300 | Columbus, OH 43240.
www.us.sogeti.com
www.us.sogeti.com
5.
http://www.m3conf.com/
@m3conf
Be there .. Or stay
6.
SilverlightShow (www.silverlightshow.net) – online
portal for everything Silverlight, XAML and Windows
Phone, 10K+ members.
* daily news * tutorials
* exclusive articles * forums
* free webinars * events
* ebooks * newsletters
CompletIT (www.completit.com) – Silverlight and
Windows Phone trainings, consultations and
development company, founder of SilverlightShow.
* Individual and group, on-site and online trainings
* Standard and custom course schedules
* Trainings by Silverlight MVP, MCT
7.
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
8.
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
9.
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
10.
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 Boom!
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
11.
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
12.
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
13.
SignalR Client for iOS
http://dyknow.github.com/SignalR-ObjC/
14.
SignalR Client for Mono
http://blog.rthand.com/post/2012/03/14/SignalR-client-on-Mono-for-Android.aspx
15.
Local Touch – Global Reach
Questions?
Thank you !!
@samidip
www.us.sogeti.com