Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
3
690
Introduction to Reactive Extensions
This is a talk I first gave at Nebraska Code Camp on March 10th, 2012
Ana Betts
March 10, 2012
Tweet
Share
More Decks by Ana Betts
See All by Ana Betts
Flutter in Practice
anaisbetts
2
140
Electron Pro-Tips
anaisbetts
0
200
Electron: The Boring Parts
anaisbetts
1
400
Why Akavache is Fast: How not to use sqlite3
anaisbetts
0
190
Native Modules in Electron
anaisbetts
3
8.4k
Single Page Apps in Electron
anaisbetts
3
1.5k
Functional Reactive Programming in Practice
anaisbetts
2
330
Awaiting for Rx
anaisbetts
4
580
On Programming
anaisbetts
3
380
Other Decks in Programming
See All in Programming
AIコーディングエージェント(Gemini)
kondai24
0
240
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
440
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
SwiftUIで本格音ゲー実装してみた
hypebeans
0
420
JETLS.jl ─ A New Language Server for Julia
abap34
1
420
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
Python札幌 LT資料
t3tra
4
750
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.9k
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
110
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
270
dotfiles 式年遷宮 令和最新版
masawada
1
790
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Become a Pro
speakerdeck
PRO
31
5.7k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
310
BBQ
matthewcrist
89
9.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
63
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
70
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
47k
Code Reviewing Like a Champion
maltzj
527
40k
Building Adaptive Systems
keathley
44
2.9k
What's in a price? How to price your products and services
michaelherold
246
13k
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