SlideShare a Scribd company logo
Enhancing User Experiences With Reactive ExtensionsBryan Anderson
What is Rx?Reactive Extensions are a set of extension methods that allow you to compose and operate on streams with LINQ operators in the same way you would a list.
Compose and operate on streams? Sounds like it’s time for me to take a nap.
Streams?A stream can be thought of as a list of events that take place over time.
Compose?Sticking functions together, like Legos. Say we have two functions f and g.Math: f(g(x))Unix: x | g | f
What is Rx?Reactive Extensions are a set of extension methods that allow you to compose and operate on streams with LINQ operators in the same way you would a list.
It’s too early to think abstractly and a nap sounds really good right now.
IObservable vs IEnumerableIObservable and IEnumerable are mathematical duals. Which just means they’re equivalent. Every IEnumerable could be turned into an IObservable and vice-versa (with enough time).
If they’re equivalent what does IObservable give us?
IObservable vs IEnumerableIEnumerable let’s you pull items from it.IObservable pushes items to you.
IObservable vs IEnumerableWhen it comes down to itIObservable = IEnumerable + Time
Marble DiagramsRunning observable:Completed normally:Completed with an exception:Input goes above output:
I think you’ve lost your marbles.
Questions so far?Please feel free to ask questions as we go.
The LINQ you’re used toCommon LINQ queries work the sameSelectWhereFirstSkipTake
Time adds more optionsThrottleDelayBufferWithTime, BufferWithCountScanZip, Merge, CombineLatest
Dude, this is a CODE camp. You need to stop talking and show me some code!
Questions?I love feedback!Bryan Andersonbryan.anderson@ilmservice.com@SolaAesir

More Related Content

PPT
An adaptive algorithm for detection of duplicate records
PPTX
FSTREAM,ASSERT LIBRARY & CTYPE LIBRARY.
PDF
ACT Science Coffee - Sante Carloni
PDF
Computational Techniques for the Statistical Analysis of Big Data in R
PDF
Os Urner
PPT
Chap8 part ii
PPTX
Data structures and Big O notation
PPTX
Naive string matching
An adaptive algorithm for detection of duplicate records
FSTREAM,ASSERT LIBRARY & CTYPE LIBRARY.
ACT Science Coffee - Sante Carloni
Computational Techniques for the Statistical Analysis of Big Data in R
Os Urner
Chap8 part ii
Data structures and Big O notation
Naive string matching

Similar to Enhancing user experiences with reactive extensions tccc10 (20)

ODP
GPars: Groovy Parallelism for Java
PDF
Real World Haskell: Lecture 1
PDF
FRP with Ractive and RxJS
PDF
Programming Reactive Extensions and LINQ 1st Edition Jesse Liberty
PDF
Programming Reactive Extensions and LINQ 1st Edition Jesse Liberty
PDF
Programming Reactive Extensions and LINQ 1st Edition Jesse Liberty
PDF
Reactive java - Reactive Programming + RxJava
PDF
RxJS - The Reactive Extensions for JavaScript
PDF
PHP Reactive Programming at Medan Tech Day 2018
PDF
Reactive programming - Observable
PPTX
Real world functional reactive programming
PDF
CORCON2014: Does programming really need data structures?
PDF
Lambda Calculus by Dustin Mulcahey
PDF
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - Part 2
PDF
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala Part 2 ...
PDF
(Functional) reactive programming (@pavlobaron)
PPTX
Itmat pcbi-r-course-1
PDF
An Efficient and Parallel Abstract Interpreter in Scala — Presentation
PPTX
Spreadsheets for developers
PDF
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
GPars: Groovy Parallelism for Java
Real World Haskell: Lecture 1
FRP with Ractive and RxJS
Programming Reactive Extensions and LINQ 1st Edition Jesse Liberty
Programming Reactive Extensions and LINQ 1st Edition Jesse Liberty
Programming Reactive Extensions and LINQ 1st Edition Jesse Liberty
Reactive java - Reactive Programming + RxJava
RxJS - The Reactive Extensions for JavaScript
PHP Reactive Programming at Medan Tech Day 2018
Reactive programming - Observable
Real world functional reactive programming
CORCON2014: Does programming really need data structures?
Lambda Calculus by Dustin Mulcahey
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - Part 2
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala Part 2 ...
(Functional) reactive programming (@pavlobaron)
Itmat pcbi-r-course-1
An Efficient and Parallel Abstract Interpreter in Scala — Presentation
Spreadsheets for developers
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
KodekX | Application Modernization Development
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
sap open course for s4hana steps from ECC to s4
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
KodekX | Application Modernization Development
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
Diabetes mellitus diagnosis method based random forest with bat algorithm
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
cuic standard and advanced reporting.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Ad

Enhancing user experiences with reactive extensions tccc10

Editor's Notes

  • #4: I knew I shouldn’t have let my snarky audience member personality add his own slides…
  • #5: Where Rx is concerned a stream is anything that implements IObservable.
  • #17: Scan == Accumulate with intermediate values kicked out
  • #18: Stuff I didn’t get to make examples forPub/SubTestingSynced Observable Collections