96: Selling Jon on Reactive Extensions
from GoneDotNet Hosted by Jonathan Dick, Allan Ritchie
In this episode, Jon and Allan discuss Reactive Extensions (Rx) and its advantages over traditional event handling. They start by addressing Jon's resistance to dependency injection and his concerns about taking dependencies on external libraries. Allan introduces Rx as a solution to handle events more effectively and efficiently. They explore the benefits of Rx, such as composability, filtering, and transforming events. The conversation delves into the implementation of Rx in different platforms and its integration with Maui. They also discuss challenges and solutions in using Rx, including canceling requests and validating input. Overall, the episode highlights the power and versatility of Rx in simplifying event handling and improving code readability. In this conversation, Jon and Allan discuss Reactive UI and Reactive Extensions. They explore the features and benefits of Reactive UI.net and how it simplifies event handling and data binding in UI development. They dive into topics such as throttling and transforming events, filtering empty or invalid values, canceling and restarting events, and handling complex use cases. They also discuss the challenges and limitations of Reactive Extensions, including assembly size and reflection usage. The conversation concludes with a discussion on identifying use cases for Reactive UI and plans for future discussions on the topic. Takeaways Reactive Extensions (Rx) is a powerful library that simplifies event handling and provides a more composable and efficient way to work with events. Rx offers advantages over traditional event handling, such as the ability to filter, transform, and compose events, as well as handle asynchronous operations. RxUI is an open-source project that integrates Rx with Maui and other platforms, providing additional features and simplifying event handling in user interfaces. Using Rx can help address common challenges in event handling, such as memory leaks, complex event patterns, and managing asynchronous operations. Regular expressions can be used with Rx to validate and filter input, improving the quality and reliability of user interactions. Reactive UI.net simplifies event handling and data binding in UI development. Reactive Extensions provide powerful tools for manipulating and transforming events. Throttling and filtering events can improve performance and reduce unnecessary processing. Reactive UI and Reactive Extensions have limitations and may require careful consideration in certain scenarios. People Hosts: Jon Dick, Allan Ritchie Audio Engineer: Jim Heath Chapters 00:00 Introduction and Small Talk 01:07 Jon's Resistance to Dependency Injection 02:21 Introducing Reactive Extensions (Rx) 03:45 Advantages of Rx and Issues with Events 08:34 Rx in Different Platforms 10:00 Transforming and Filtering Events with Rx 15:29 Understanding Observables and Observers 19:21 Simplifying Event Handling with Rx 22:21 RxUI and its Integration with Maui 25:03 Challenges and Solutions in Using Rx 28:26 Implementing a Search Feature with Rx 31:03 Handling Continuous Typing and Caching Results 33:32 Validating Input with Regular Expressions 34:09 Introduction to Reactive UI and Reactive Extensions 34:38 Exploring Reactive UI.net 35:11 Throttling and Transforming Events 36:25 Distinct Until Changed 37:12 Filtering Empty or Invalid Values 37:45 Subscribing to Events 38:13 Canceling and Restarting Events 39:05 Complex Use Cases and Limitations 40:08 Using Reactive Extensions with Async 41:23 Challenges with Reactive Extensions 42:21 Assembly Size of System.Reactive 43:16 Reflection and Dynamic Usage 44:34 Considerations for Mobile Apps 48:35 Benefits of Reactive UI in UI Development 51:08 Identifying Use Cases for Reactive UI 54:04 Reactive UI and Reactive Extensions as Picks of the Week 55:06 Conclusion and Future Discussion
Embed this episode
No transcript yet.