dotnet / reactive

The Reactive Extensions for .NET
http://reactivex.io
MIT License
6.71k stars 750 forks source link

Incorporate https://github.com/runceel/ReactiveProperty #2081

Open eder-em opened 9 months ago

eder-em commented 9 months ago

Feature request

Please, consider bringing-in this amazing library developed by a MSFT Japan employee which is extremely useful on XAML projects like WinUI, WPF, Xamarin, .NET MAUI and so on.

https://github.com/runceel/ReactiveProperty

Please get in touch with the owners (@runceel and @neuecc) of that library and try to bring it to the same umbrella of dotnet/reactive.

I've been using ReactiveProperty on all of my XAML based projects cause if makes my ViewModels more reactive friendly and a lot more readable. But sometimes it's hard to convince big companies to adopt it cause since that's not under the .NET Foundation some folks thinks it doesn't transmit enougth confidence about future maintainability and support on the long run.

IMO I think this will be a greate addition to the set of libraries that Rx team is providing.

HowardvanRooijen commented 9 months ago

There might be a misapprehension of the role of the .NET Foundation - it's not a support organisation - donating a project to the foundation doesn't mean that it suddenly gets developer resources assigned to it to support it ad infinitum, it's a legal (copyright) and governance wrapper which allows control and access of a project to outlive any single maintainer. So Microsoft donated Rx to the .NET Foundation, which allowed the community to take over the project once Microsoft's interest waned, and for the current maintainers (@idg10 & I) to take over from those maintainers after the project went quiet for a number of years due to those 1st generation of maintainers moving on to other things.

Big Companies need to understand that if the reap the benefits of Open Source, they need to take responsibility for their Software Supply Chain too. Open Source is "free like a puppy" (you pay for upkeep) rather than "free like a beer" (free with no responsibility).

We wouldn't pull this project into dotnet/reactive - supporting UI platforms is currently our biggest challenge, because in the last few years, the number of cross-platform UI frameworks has exploded; our current long term plans are to try and pull those extensions out into their own repositories, reducing some of the overall complexity of managing the Rx project, and encouraging the developers / consumers of those specific frameworks to contribute to maintain and improve them over time.

We also active encourage people to use https://github.com/reactiveui/ReactiveUI which has a thriving ecosystem and a mechanism to sponsor the project https://github.com/sponsors/reactivemarbles

ChrisPulman commented 9 months ago

@eder-em Is there any particular part of ReactiveProperty library that you are using? I am fairly sure that ReactiveUI has all the functionality that is also available from ReactiveProperty and more. If you feel that there is something missing, I am sure the ReactiveUI team would be happy to assist to resolve that.

eder-em commented 9 months ago

@ChrisPulman I have used ReactiveUI in the past but I really don't like the idea of being forced make all my Views and ViewModels to inherit from ReactiveObject and ReactiveWindow as described on their docs here. Reactive property doesn't forces you to inherit from anything and IMO that's way more elegant so that's basically why I prefer ReactiveProperty over ReactiveUI. This inheritance based approach of ReactiveUI it's too way intrusive IMO.

glennawatson commented 9 months ago

Just be aware there are a LOT of large open source projects that are not members of the .NET Foundation (or are in the process of leaving). So I wouldn't be using the DNF as a metric of "good" projects.

eder-em commented 9 months ago

I need to demystify .NET Foundation on my team then. Thank you @glennawatson and @HowardvanRooijen