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

What's the status of this project? #69

Open
sclarke81 opened this issue Jul 26, 2017 · 19 comments
Open

What's the status of this project? #69

sclarke81 opened this issue Jul 26, 2017 · 19 comments

Comments

@sclarke81
Copy link

Hi all,

I'm really interested in this project. I'm playing around with using react and redux in C# and, particularly after reading the V3.0 discussion, I think this project fits nicely with the way I'd like to work with redux. The ideas coming from @GuillaumeSalles, @cmeeren, @lilasquared and @dcolthorp are great. It's noticeable that in my research on redux in C# that I've come across many blog posts and comments from you guys.

So I'd potentially be keen to use redux.NET and to get involved and contribute, but I'm a bit concerned at seeing pull requests outstanding since October 2016. I'm not criticising, I get it, it's open source and we all have busy lives. I'm just trying to get a feel for what the status is.

Kind regards,

Stephen

@cmeeren
Copy link

cmeeren commented Jul 26, 2017

I have no idea, and have been trying to find out too, see #51 (comment)

That being said, I've moved away from using Redux for my app (it wasn't the best framework in my specific case), so I probably won't be contributing any more to this project.

@sclarke81
Copy link
Author

The lack of response to your comment was also part of my concern... I hoped that raising an issue would have a bit more visibility.

it wasn't the best framework in my specific case

Do you mind if I ask what brought you to that conclusion? I'm still in the early stages of research and testing different paradigms so any input would be gratefully received.

@cmeeren
Copy link

cmeeren commented Jul 26, 2017

Do you mind if I ask what brought you to that conclusion?

Put simply, it was a pain to add a few new screens to my app, requiring adding new state, reducers, actions, and sagas (or whatever other async handlers one uses), i.e. a lot of boilerplate over just adding a view model. The pain was partly due to my using Redux as the sole source of state, instead of having view models with "view-local" state and only putting the global state in Redux. This was partly necessitated in a couple of views where a submit-button's enabled/disabled state depended on both the input values of the form fields as well as some global state, requiring me to either mix local and store observables in a way I found messy, or simply put all state (including input fields) in the store.

There were a few other reasons, too – getting animations to work correctly in all corner cases were messy – but mostly it was the absurd amount of boilerplate and indirection that did not really feel necessary. I decided to get rid of Redux altogether, though a more combined approach could also have worked, with only the truly global state in Redux and everything else in view models. In the end. however, I opted for keeping global state in separate "view models" (all implementing IObservable, so they are bindable), register them as singletons in the IOC framework, and inject them into whichever view models that needed them. In short, this means all state will have a single source of truth, without having to rely on the boilerplate of Redux.

@sclarke81
Copy link
Author

Thanks for taking the time to share your experiences. I've been writing TodoMVC examples in different ways and I'm already noticing the amount of boilerplate Redux involves. It's also tricky to find the balance of store and local state. So it feels like I'm hitting some of the same issues. I really like the Redux paradigm though. I also find Cycle interesting but I don't have enough of a handle on it yet to begin putting anything together to try it out.

@sclarke81
Copy link
Author

I've decided to open source my examples in TodoMVC.NET in the hope that they might help others. I'd like to replicate the original TodoMVC project, but for .NET. Feel free to take a look and let me know your thoughts.

@GuillaumeSalles
Copy link
Owner

Really sorry that I didn't take the time to answer sooner.

I don't have the motivation to work on Redux .NET anymore and I don't think it will change in the future. I didn't use .NET for the UI part professionally during the last 2 years so I don't think I'm the right person to maintains Redux.NET right now.

If some people are interested to make Redux.NET evolve in whatever the direction they want, I can move this repo to an organization and give them admin access to publish nuget packages.

@sclarke81
Copy link
Author

That's ok, I think we all understand what it's like.

I'm definitely interested in doing that. I'd be happy to help initially with the outstanding pull requests. Longer term it'll probably depend on what route I decide to take with my UI projects. If any of the others would join in that'd be great as I'm still new to react/redux.

@cmeeren
Copy link

cmeeren commented Jul 31, 2017

I'll stay on the sidelines for this, since I'm not currently using Redux.NET myself.

@codepunkt
Copy link

codepunkt commented Aug 3, 2017

The solution might be simple: Create a Redux.NET organization on github, move repository there and add some willing maintainers from this repo - that actually use the project, preferrably on a day to day basis.

@sclarke81
Copy link
Author

@GuillaumeSalles would you be happy to move this project to an organisation now? It's looking more likely that I'm going to make use of Redux.NET. I'd be keen to start addressing some of the pull requests and planning the future of the library.

Is anyone else up for joining in? @jackjwilliams, @Vazerthon, @codepunkt?

@ridespirals
Copy link

I've used this project at work and would like to use it more. I'm not sure what I can promise to be able to do but I am interested in helping wherever I can.

@sclarke81
Copy link
Author

@ridespirals I'm in pretty much the same situation. With work and family life I'm pretty busy, but I'd like to do what I can to take this forward.

@Vazerthon
Copy link

I've really only toyed with Redux.NET and I'm not actively working with it at the moment. That said, I'd be up for trying to help out on maintenance where I can. @sclarke81 are you hoping to take on ownership?

@sclarke81
Copy link
Author

I'm easy going... I'd like to have input into the future as well as working on maintenance. From what @GuillaumeSalles has said it looks like he won't have the time to run the project. It'd be great if we could get a few interested/opinionated people together to guide the future. I'm up for helping to drive it, or to take more of a supporting role. My main aim would be to see the library progress. Combined with Rx and ReactiveUI I think the current version works really well. Having said that, I think some great ideas have been raised I the issue backlog and I'd like to see them implemented.

@JordanMarr
Copy link

Does anyone have any recommendations for an alternative library that is actively maintained?
Or is everyone just rolling their own?

@cmeeren
Copy link

cmeeren commented Mar 16, 2018

Rolling my own (yes, I've moved back to using Redux, though in F#, which is a much better fit for the architecture). It's just 20-30 lines of code or so for what I need, so I don't really see the benefit of using a library.

@JordanMarr
Copy link

I would love to be doing this with F# because it is such a natural fit.
https://thomasbandt.com/fsharp-redux-store-for-xamarin-apps

Unfortunately my current project is too far along for swapping out to an F# domain model.
My current design is very similar to what you mentioned: injecting a singleton VM with shared state into other VMs to provide a single source of truth where necessary.

Maybe I should just stick with what I have and go the F# route on the next project.

@PostImpatica
Copy link

I have an example for Xamarin using .Net Standard 2.0. You can find it here.

@JoseFMP
Copy link

JoseFMP commented Oct 24, 2018

Any news? I am willing to contribute.
@helzgate your contribution is great but why not to provide a wide .NET solution instead of Xamarin only?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants