Episode 17: ReactiveUI with Michael Stonis

Play Episode 17: ReactiveUI with Michael Stonis
Sign in to queue


This week, James is joined by friend of the show Michael Stonis, Xamarin MVP and Development Lead & President at Eight Bot, who shows us a different way of development with Reactive Extensions (Rx) and ReactiveUI for Xamarin. ReactiveUI is a MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform. Michael walks us through the awesome support for Xamarin.iOS, Xamarin.Android, Xamarin.Mac, and Xamarin.Forms applications.


  • [08:00] Learning Reactive Extensions
  • [10:00] Getting Started with ReactiveUI
  • [15:30] Walking through ReactiveUI Samples
  • [29:00] ReactiveUI for Xamarin.Forms

Show Links:

Useful Links:



The Discussion

  • User profile image
    Andrew Herrick

    Great show! Here is the GitHub to the sample shown:


  • User profile image

    https://github.com/tonsky/FiraCode for the llambda pipes font in VSCode

  • User profile image
  • User profile image

    @Michael, good stuff! any sample on xamarin forms?

  • User profile image

    I'm having trouble adding the System.Reactive nuget package to my Xamarin.Forms PCL project (profile 151):  

    "Could not install package 'System.Runtime.InteropServices.RuntimeInformation 4.0.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.6,Profile=Profile151', but the package does not contain any assembly references or content files that are compatible with that framework"

    If someone could possibly point me to some resource(s) to help me get by this intro hurdle, I'd be very grateful.

  • User profile image

    Thanks for this presentation!
    I like the color scheme of your editor, where can I get this for my VS 2015 (windows)?

  • User profile image

    The concept James talks about where it essentially waits until the user stops typing for some amount of time and then just sends one request to the server with the latest state of the text box is called "debouncing." It's not a throttle, which is what the guest displays in the first example.

  • User profile image
    Michael Stonis

    @Brian in .Net debounce is known as throttle. The name of the operator is different depending on the language you are in. http://reactivex.io/documentation/operators/debounce.html

  • User profile image
  • User profile image

    Great Video!

    Have a small Desptop App I'm gonna try out ReactiveUI with. I allready use Observable.Inverall, .TakeUntil and Subscribe to do timed transient and moderately consistent loops and watching this really excited me to try it on the UI as well.

    Cheers Sebastian

Add Your 2 Cents