layout: true
--- class: center, middle # What is RX => ( press > ) https://ignatandrei.github.io/Presentations/rxprez.html Code at https://ignatandrei.github.io/Presentations/rx.zip --- # Agenda 0. About me 1. Introduction RX - Reactive Extensions 2. Some Sites 3. Key Concepts 5. Demo .NET Core / JavaScript / TypeScript 7. Discussion / Questions ? --- class: center, top # About me ![:img ignat, 10%](ignat.jpg) Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/ --- class: center, top # Introduction RX - Reactive Extension ## What is RX ? Rx is a library for composing asynchronous and event-based programs using observable collections. ## Why RX ? "You want to have the result pushed to you when it is ready. Even better, when working with result sets, you want to receive individual results as they are ready. You do not want to wait for the entire set to be processed before you see the first row." http://introtorx.com/Content/v1.0.10621.0/01_WhyRx.html#WhyRx --- class: center, top # Some Sites ## Reference https://github.com/ReactiveX - Java, JavaScript, Go ... https://github.com/dotnet/reactive - .NET implementation ## Learn http://introtorx.com/ http://rxwiki.wikidot.com/101samples https://www.reactiveui.net/reactive-extensions/ https://livebook.manning.com/book/rx-dot-net-in-action/chapter-4/212 https://www.learnrxjs.io/ https://rxmarbles.com/ https://blog.andrei.rinea.ro/2013/06/01/bing-it-on-reactive-extensions-story-code-and-slides/ --- class: center, top # KeyConcepts ( remember IEnumerable
and IEnumerator
?) Publisher : IObserver Consumer : IObservable Both : Subject ```csharp public interface IObservable
{ IDisposable Subscribe(IObserver
observer); } public interface IObserver
{ void OnCompleted(); void OnError(Exception error); void OnNext(T value); } public sealed class Subject
: ISubject
, ISubject
, IObserver
, IObservable
, IDisposable ``` ReplaySubject , BehaviorSubject , Composition functions --- class: center, top # Demos .NET Demos\RXDemos - sample console + windows Forms JavaScript https://github.com/ignatandrei/rxDemo/ https://rxdemo.azurewebsites.net/ --- class: center, top # Some Sites ## Learn http://introtorx.com/ http://rxwiki.wikidot.com/101samples https://www.reactiveui.net/reactive-extensions/ https://livebook.manning.com/book/rx-dot-net-in-action/chapter-4/212 https://www.learnrxjs.io/ https://rxmarbles.com/ https://blog.andrei.rinea.ro/2013/06/01/bing-it-on-reactive-extensions-story-code-and-slides/ --- class: center, top # Questions? Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/