Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Reactive Extensions
Search
Ana Betts
March 10, 2012
Programming
700
3
Share
Introduction to Reactive Extensions
This is a talk I first gave at Nebraska Code Camp on March 10th, 2012
Ana Betts
March 10, 2012
More Decks by Ana Betts
See All by Ana Betts
Flutter in Practice
anaisbetts
2
160
Electron Pro-Tips
anaisbetts
0
210
Electron: The Boring Parts
anaisbetts
1
410
Why Akavache is Fast: How not to use sqlite3
anaisbetts
0
200
Native Modules in Electron
anaisbetts
3
8.4k
Single Page Apps in Electron
anaisbetts
3
1.5k
Functional Reactive Programming in Practice
anaisbetts
2
340
Awaiting for Rx
anaisbetts
4
590
On Programming
anaisbetts
3
390
Other Decks in Programming
See All in Programming
Swift Concurrency Type System
inamiy
0
430
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
250
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
450
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
110
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
290
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
370
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
810
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
160
事業会社でのセキュリティ長期インターンについて
masachikaura
0
240
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
130
Java 21/25 Virtual Threads 소개
debop
0
340
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Chasing Engaging Ingredients in Design
codingconduct
0
170
4 Signs Your Business is Dying
shpigford
187
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Bash Introduction
62gerente
615
210k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
Site-Speed That Sticks
csswizardry
13
1.1k
Code Reviewing Like a Champion
maltzj
528
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Transcript
demo
REACTIVE EXTENSIONS
github @xpaulbettsx
We can no longer write synchronous software. - Abraham Lincoln
let’s talk linq.
the core of linq is the sequence.
pipelines new[] { 1, 2, 3, 4, 5 } .Select(x
=> x * 5) .Where(x => x % 2 == 0) .ForEach(Console.WriteLine)
a sequence is just some stuff, in a particular order
linq lets us describe what to do with data when
we get it... ...without actually having the data
what i’ve described is a monad.
I thought this was an Rx talk!
let’s talk events.
Events Aren’t Com pos able
OnMouseUp + OnMouseDown != OnDoubleClick
what is an event? OnKeyUp += (o,e) => DisplayASlide();
H
e
l
l
o
(!)
an event is just some stuff, in a particular order
Observables OnNext OnCompleted OnError ‘h’, ‘i’ no more stuff exception!
IObservable<T> IDisposable Subscribe(IObserver<T> observer); observable.Subscribe( x => WriteLine(x), () =>
WriteLine(“Done!”), ex => WriteLine(“Aieeeee!”));
IObservable is a list too
subscribe is your foreach
Cold <> Hot
Subject<T>
demo
Rx thinks about time
IObservable represents one of two things a stream of items
a future result
Rx Async Methods are methods that return IObservable<T>
IObservable<string> ReturnHelloWorld() { return Observable.Return(“Hello World”); } IObservable<string> ReturnHelloWorld() {
return Observable.Start(() => { return “Hello World”; }, Scheduler.TaskPoolScheduler); }
demo
learn more Rx Workshop Videos amzn.to/programming-rx