We (endjin) became the official maintainers of Rx.NET in January 2023. We spent 2023H1 focused on modernising Rx.NET and released v6.0 in May 2023, gave a talk at .NET Conf 2023 about our efforts. We published a platform support roadmap, to get a better understanding of the wider needs of the .NET ecosystem (as System.Reactive has over 160 million downloads on NuGet):
We then turned our attention to improving documentation to help people get started with Rx. We contacted Lee Campbell and asked if he would be willing to donate the contents of his 2010 book "Introduction to Rx.NET" to the project (via the .NET Foundation) so we could modernise it, and republish it for free. He very kindly agreed, and Ian Griffiths spent 2023H2 updating the book, with feedback and technical editing from the rest of the endjin team.
The 2nd edition is now almost 100k words in length and has new marble and sequence diagrams explaining many of the operators, and examples which focus on cloud native scenarios such as IoT, and stream data processing, rather than traditional UI scenarios.
In December, with the book finished, we turned out attention to revamping the Intro to Rx.NET website, again, thanks to Lee Campbell for letting us use the domain name.
The contents of the book are as follows:
- Why Rx .NET?
- Key Types
- Creating Observable Sequences
- From Events to Insights
- Transformation of sequences
- Combining sequences
- Getting pragmatic
- Scheduling & Threading
- Time-based sequences
- Leaving Rx's World
- Error Handling Operators
- Publishing operators
- Testing Rx.NET
- Classic IO Streams Problems
- Usage guidelines
- Rx's Algebraic Underpinnings
If you spot any mistakes / typos / have any feedback, please raise an issue on the GitHub repo.
The Reactive Extensions for .NET were designed for a Cloud Native future, which has now arrived. We believe that Rx.NET is one of .NET's (hidden) superpowers, and we hope that this book will help more people discover the framework and get started with it.