Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
demo
Slide 2
Slide 2 text
REACTIVE EXTENSIONS
Slide 3
Slide 3 text
github @xpaulbettsx
Slide 4
Slide 4 text
We can no longer write synchronous software. - Abraham Lincoln
Slide 5
Slide 5 text
let’s talk linq.
Slide 6
Slide 6 text
the core of linq is the sequence.
Slide 7
Slide 7 text
pipelines new[] { 1, 2, 3, 4, 5 } .Select(x => x * 5) .Where(x => x % 2 == 0) .ForEach(Console.WriteLine)
Slide 8
Slide 8 text
a sequence is just some stuff, in a particular order
Slide 9
Slide 9 text
linq lets us describe what to do with data when we get it... ...without actually having the data
Slide 10
Slide 10 text
what i’ve described is a monad.
Slide 11
Slide 11 text
I thought this was an Rx talk!
Slide 12
Slide 12 text
let’s talk events.
Slide 13
Slide 13 text
Events Aren’t Com pos able
Slide 14
Slide 14 text
OnMouseUp + OnMouseDown != OnDoubleClick
Slide 15
Slide 15 text
what is an event? OnKeyUp += (o,e) => DisplayASlide();
Slide 16
Slide 16 text
H
Slide 17
Slide 17 text
e
Slide 18
Slide 18 text
l
Slide 19
Slide 19 text
l
Slide 20
Slide 20 text
o
Slide 21
Slide 21 text
(!)
Slide 22
Slide 22 text
an event is just some stuff, in a particular order
Slide 23
Slide 23 text
Observables OnNext OnCompleted OnError ‘h’, ‘i’ no more stuff exception!
Slide 24
Slide 24 text
IObservable IDisposable Subscribe(IObserver observer); observable.Subscribe( x => WriteLine(x), () => WriteLine(“Done!”), ex => WriteLine(“Aieeeee!”));
Slide 25
Slide 25 text
IObservable is a list too
Slide 26
Slide 26 text
subscribe is your foreach
Slide 27
Slide 27 text
Cold <> Hot
Slide 28
Slide 28 text
Subject
Slide 29
Slide 29 text
demo
Slide 30
Slide 30 text
Rx thinks about time
Slide 31
Slide 31 text
IObservable represents one of two things a stream of items a future result
Slide 32
Slide 32 text
Rx Async Methods are methods that return IObservable
Slide 33
Slide 33 text
IObservable ReturnHelloWorld() { return Observable.Return(“Hello World”); } IObservable ReturnHelloWorld() { return Observable.Start(() => { return “Hello World”; }, Scheduler.TaskPoolScheduler); }
Slide 34
Slide 34 text
demo
Slide 35
Slide 35 text
learn more Rx Workshop Videos amzn.to/programming-rx