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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
190
Electron Pro-Tips
anaisbetts
0
220
Electron: The Boring Parts
anaisbetts
1
430
Why Akavache is Fast: How not to use sqlite3
anaisbetts
0
220
Native Modules in Electron
anaisbetts
3
8.4k
Single Page Apps in Electron
anaisbetts
3
1.5k
Functional Reactive Programming in Practice
anaisbetts
2
350
Awaiting for Rx
anaisbetts
4
600
On Programming
anaisbetts
3
400
Other Decks in Programming
See All in Programming
What's New in Android 2026
veronikapj
0
250
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
470
VibeCodingからAgenticWorkflowへ
starfish719
0
220
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
120
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.5k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
210
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
霧の中の代数的エフェクト
funnyycat
1
460
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
140
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.4k
Featured
See All Featured
Scaling GitHub
holman
464
140k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
440
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Embracing the Ebb and Flow
colly
88
5.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
We Are The Robots
honzajavorek
0
290
A designer walks into a library…
pauljervisheath
211
24k
From π to Pie charts
rasagy
0
250
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Exploring anti-patterns in Rails
aemeredith
3
450
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