Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Core
  3. redux.NET

redux.NET

C#v2.0.0

A predictable state container for .NET applications, inspired by Redux.js, enabling unidirectional data flow.

GitHubGitHub
710 stars84 forks0 contributors

What is redux.NET?

Redux.NET is a state management library for .NET applications that implements the Redux pattern, providing a single, immutable store to manage application state. It solves the problem of unpredictable state changes in complex MVVM applications by enforcing unidirectional data flow through actions and pure reducers. This makes it easier to reason about state transitions, especially in applications with asynchronous operations and cascading updates.

Target Audience

.NET developers building cross-platform applications with Xamarin, UWP, WPF, or Windows 8.1 who need a predictable and scalable state management solution. It is particularly useful for those familiar with Redux in JavaScript or seeking to address the limitations of traditional MVVM patterns.

Value Proposition

Developers choose Redux.NET for its strict adherence to the Redux principles, which bring proven state management patterns from the web to .NET. Its cross-platform compatibility, integration with ReactiveExtensions for efficient updates, and built-in DevTools for time-travel debugging offer a robust alternative to native .NET state management approaches.

Overview

Redux.NET is a predictable state container for .NET apps. Inspired by https://github.com/reactjs/redux.

Use Cases

Best For

  • Managing state in large Xamarin.Forms applications with complex data flows
  • Building UWP or WPF apps that require predictable state transitions and debugging
  • Implementing unidirectional data flow in .NET projects to simplify state reasoning
  • Integrating time-travel debugging for state management in .NET development
  • Optimizing performance in state-heavy applications using ReactiveExtensions
  • Adopting Redux patterns in a .NET environment for consistency with web counterparts

Not Ideal For

  • Projects requiring active maintenance and future updates, as the repository is explicitly no longer maintained
  • Simple applications where the overhead of actions, reducers, and immutable state is unnecessary compared to MVVM
  • Teams unfamiliar with Redux or functional programming concepts, due to the paradigm shift from traditional .NET patterns
  • Modern .NET Core or .NET 5+ projects needing libraries that leverage the latest framework features and tooling

Pros & Cons

Pros

Predictable State Management

Enforces a single immutable store and unidirectional data flow through actions, making state changes transparent and debuggable, as highlighted in the motivation to avoid cascading updates in MVVM.

Cross-Platform Compatibility

Built as a Portable Class Library, it works with Xamarin (iOS, Android, Forms), UWP, WPF, and Windows 8.1, allowing consistent state management across diverse .NET environments.

Reactive Extensions Integration

The store implements IObservable, enabling seamless use with Rx.NET for efficient state observation and performance optimizations like DistinctUntilChanged, as shown in the examples.

Time-Travel Debugging

Includes DevTools with a time-machine debugger inspired by Elm and Redux DevTools, allowing inspection and replay of state changes during development, though setup requires extra steps.

Cons

Abandoned Project

The repository is marked as no longer maintained, meaning no bug fixes, security updates, or support for newer .NET versions, making it risky for production use.

Boilerplate Overhead

Requires defining actions and reducers for all state changes, leading to verbose code that can be cumbersome in large applications compared to more flexible state management solutions.

Limited Ecosystem

The .NET Redux ecosystem is small compared to JavaScript, with fewer middleware, tools, or community extensions available, which may limit advanced use cases.

Frequently Asked Questions

Quick Stats

Stars710
Forks84
Contributors0
Open Issues24
Last commit4 years ago
CreatedSince 2015

Tags

#reactive-extensions#xamarin#redux-pattern#dotnet#unidirectional-data-flow#uwp#wpf#devtools#immutable-state#state-management

Built With

U
UWP
P
PCL
W
WPF
X
Xamarin
.
.NET

Included in

Core21.2k
Auto-fetched 21 hours ago

Related Projects

ReactJS.NETReactJS.NET

.NET library for JSX compilation and server-side rendering of React components

Stars2,322
Forks904
Last commit3 months ago
BlazorBlazor

MOVED: Please see the new repo at https://github.com/aspnet/blazor

Stars1,679
Forks120
Last commit8 years ago
OouiOoui

A small cross-platform UI library that brings the simplicity of native UI development to the web

Stars1,620
Forks163
Last commit3 years ago
Blazor ReduxBlazor Redux

Connecting a Redux state store with Blazor.

Stars480
Forks45
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub