Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Make ReactiveList obselete and promote DynamicData #10

Closed
glennawatson opened this issue Jul 21, 2018 · 8 comments · Fixed by reactiveui/ReactiveUI#1727
Closed
Assignees
Labels

Comments

@glennawatson
Copy link
Contributor

This relates to reactiveui/ReactiveUI#1372

Summary: Move the ReactiveList based series of classes to the Legacy namespace and mark them obsolete and direct them to the DynamicData (DD) github page.

Reason: The ReactiveList classes are getting a bit clumsy and the DD framework is much more powerful. It has a API more inline with the Rx style of doing things. Roland Pheasant is also very active on the project. By making ReactiveList redundant it will allow the core developers and contributors to focus on the more critical functionality.

Side effects: The potential side effect is projects relying on the ReactiveList. Although the ReactiveList will still be available it's not immediately straight forward how to do the conversion. Also can be a impact on @RolandPheasant with a increased user base.

@glennawatson
Copy link
Contributor Author

This change is happening in the next few days.

@RLittlesII
Copy link
Member

@glennawatson @RolandPheasant
Is there any current documentation on how to get users from ReactiveList to Dynamic Data? If so, lets make sure it's visible and readily accessible. If not, is there any way we can draft something that we can provide to consumers on the differences? I know Dynamic Data has documentation, but to Glenn's point, conversion shouldn't be a labored effort where our users are stuck for hours scratching their heads.

@xplatsolutions
Copy link

xplatsolutions commented Aug 13, 2018

Documentation was my caveat when I tried to convert current project where ReactiveList behave strangely with DynamicData. It would be great to create a sample project to demonstrate usage.

@glennawatson
Copy link
Contributor Author

glennawatson commented Aug 13, 2018

https://github.com/RolandPheasant/DynamicData/wiki/Introduction-for-ReactiveUI-users is some documentation that Roland prepared a while back.

GitHub
DynamicData - Reactive collections based on Rx.Net

@cabauman
Copy link

We should definitely make sure users see that article.

@sushihangover
Copy link

Documentation was my caveat when I tried to convert current project where ReactiveList behave strangely with DynamicData. It would be great to create a sample project to demonstrate usage.

I'm looking at upgrading an "old" Xamarin.Android-based ReactiveUI and due to the obsolete nature of ReactiveList and that there is no "legacy" version of ReactiveRecyclerViewAdapter/ReactiveList (have to use IObservable<IChangeSet> now), I'm really confused on how to re-structure this app to use DynamicData, so:

Are there any sample projects using Xamarin.Android ReactiveUI/DynamicData? TIA...

@glennawatson
Copy link
Contributor Author

glennawatson commented Jan 29, 2019

Jump on slack https://reactiveui.net/slack and join the #ReactiveUI channel. Someone can help you adapt your project there.

You can still use ReactiveList with theReactiveRecyclerViewAdapter

There is a second generic class with the signature ReactiveRecyclerViewAdapter<TViewModel, TCollection>

so you can derive off ReactiveRecyclerViewAdapter<MyViewModel, ReactiveList<MyViewModel>>

That will call the DynamicData overload ToObservableChangeSet<TCollection, TViewModel>() -- this will essentially convert existing collections into a IObservable<IChangeSet<T>>

@glennawatson
Copy link
Contributor Author

That overload class can handle any collection derived from ICollection<T> and INotifyCollectionChanged btw, so if you're doing single threaded collection changes you can use a ObservableCollectionExtended<T> when ReactiveList goes away.

@lock lock bot added the outdated label Jun 24, 2019
@lock lock bot locked and limited conversation to collaborators Jun 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
7 participants