Status
not provided
Needs
Community growth is [currently] hindered by lack of quality documentation and samples. Actively working on rectifying this but time spent on growing the community and general project maintenance detracts from shipping code.
The ReactiveUI maintainers are super interested in making Functional Reactive Programming the norm. ReactiveUI has our very own Slack organization which contains some of the best user interface/reactive extension developers in the industry and we are looking for seniors/rookies alike who wish to aide with FRP crossing the chasm, into mainstream adoption.
Come join us in Slack < https://github.com/reactiveui/ReactiveUI/blob/rxui7-master/README.md#slack > for a ride and personal growth like no other.
Function
What’s ReactiveUI you ask? Well it is a MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform. Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin Forms, WPF, Windows Forms, Windows Phone 8, Windows Store and Universal Windows Platform (UWP) are amongst our supported platforms.
We deeply believe that mutable state is evil and that every bit of your application should be testable, even tricky things such as routing, time/schedulers and provide methods to make complexity that is usually hard to test, absolute child's play.
You see, most modern programming today is basically imperative, meaning it models the traditional fetch-execute cycle of a CPU. Perform and instruction, fetch the next one. Perform that one, and so on. For decades, programmers have had to mould their brains to fit the paradigm of the CPU.
Imperative Programming is Dangerous
When we rely on hoping that the behavior that emerges from a program is correct, and that reliance is based on nothing more than a programmer's correctness, then we can easily find ourselves in a sticky situation. We can try and mitigate the costs of imperative programming with things like unit tests or integration tests, but why mitigate the costs when there's a better way?
Instead of telling a computer how to do its job, why don't we just tell it what it's job is and let it figure the rest out? The bottom line is imperative programming is error-prone and relies too heavily on the infallibility of the programmer.
Instead of imperative programming, we can use a new paradigm to structure our code. This paradigm is called Functional Reactive Programming- http://docs.reactiveui.net/en/fundamentals/functional-reactive-programming.html
ReactiveUI was the brain child of Paul Betts (ex GitHub, now Electron wizard at Slack) and is the framework behind Github Desktop for Windows <https://desktop.github.com> amongst other things. The design principals of ReactiveUI inspired the creation of the super popular (12,000+ stars on GitHub) ReactiveCocoa framework.
ReactiveUI was recently nominated as the #1 .NET package of the week by the official Microsoft .NET blog - http://blogs.msdn.com/b/dotnet/archive/2016/01/05/the-week-in-net-1-5-2015.aspx
Maintainer
github - ghuntley, email - ghuntley@ghuntley.com, twitter - geoffreyhuntley