ReactiveUI - An advanced, composable, functional reactive model-view-viewmodel framework for all

  •        333

ReactiveUI is a composable, cross-platform model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming which is a paradigm that allows you to abstract mutable state away from your user interfaces and express the idea around a feature in one readable place and improve the testability of your application.That's reactive programming: changes propagate throughout a system automatically. Welcome to the peanut butter and jelly of programming paradigms. For further information please watch the this video from the Xamarin Evolve conference - Why You Should Be Building Better Mobile Apps with Reactive Programming by Michael Stonis.

http://www.reactiveui.net
https://github.com/reactiveui/ReactiveUI

Tags
Implementation
License
Platform

   




Related Projects

ReactiveProperty - ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions

  •    CSharp

ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target framework is .NET 4.6, UWP, Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms and .NET Standard 1.3. ReactiveProperty is very powful and simple library.

Prism - Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms

  •    CSharp

Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms. Separate releases are available for each platform and those will be developed on independent timelines. Prism provides an implementation of a collection of design patterns that are helpful in writing well-structured and maintainable XAML applications, including MVVM, dependency injection, commands, EventAggregator, and others. Prism's core functionality is a shared code base in a Portable Class Library targeting these platforms. Those things that need to be platform specific are implemented in the respective libraries for the target platform. Prism also provides great integration of these patterns with the target platform. For example, Prism for UWP and Xamarin Forms allows you to use an abstraction for navigation that is unit testable, but that layers on top of the platform concepts and APIs for navigation so that you can fully leverage what the platform itself has to offer, but done in the MVVM way.Prism 6 is a fully open source version of the Prism guidance originally produced by Microsoft patterns & practices. The core team members were all part of the P&P team that developed Prism 1 through 5, and the effort has now been turned over to the open source community to keep it alive and thriving to support the .NET community. There are thousands of companies who have adopted previous versions of Prism for WPF, Silverlight, and Windows Runtime, and we hope they will continue to move along with us as we continue to evolve and enhance the framework to keep pace with current platform capabilities and requirements.

mvvmlight - The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin

  •    CSharp

The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone. More information about the MVVM Light Toolkit can be found on http://www.mvvmlight.net.

ReactiveKit - A Swift Reactive Programming Kit

  •    Swift

ReactiveKit is a lightweight Swift framework for reactive and functional reactive programming. With just over 2000 lines of code it enables you to get into reactive world today. The framework is compatible with all Apple platforms and Linux. If you are developing an iOS or macOS app, make sure to also check out Bond framework that provides UIKit and AppKit bindings, reactive delegates and data sources.

Microsoft.Maui.Graphics

  •    CSharp

Microsoft.Maui.Graphics is a cross-platform graphics library for iOS, Android, Windows, macOS, Tizen and Linux completely in C#. With this library you can use a common API to target multiple abstractions allowing you to share your drawing code between platforms, or mix and match graphics implentations within a singular application. Any dotnet projects needing a multi-platform graphics abstraction that is backed by native APIs can use Microsoft.Maui.Graphics.


FunctionalAndroidReference - Showcase project of Functional Reactive Programming on Android, using RxJava

  •    Kotlin

FunctionalAndroidReference is a showcase project of Functional Reactive Programming on Android, using RxJava. It's a companion app to the presentation "Fully Reactive Apps" at Droidcon UK 2016.

mobile - The mobile vault (iOS, Android, and UWP).

  •    CSharp

The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, UWP, and Xamarin Forms. By default the app is targeting the production API. If you are running the Core API locally, you'll need to switch the app to target your local instance. Open src/App/Utilities/ApiHttpClient.cs and src/App/Utilities/IdentityHttpClient.cs and set the BaseAddress to your local API endpoints (ex. new Uri("http://localhost:5000")). Alternatively, you can also adjust the environment endpoints from the environment settings page on the home screen of the app (log out).

MvvmCross - The

  •    CSharp

MvvmCross is a cross-platform MVVM framework. It enables developers to create apps using the MVVM pattern on Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms, Universal Windows Platform (UWP) and Windows Presentation Framework (WPF). This allows for better code sharing by allowing you to share behavior and business logic between platforms.MvvmCross is extendable by you. We strive to let as much code be configurable and overridable, to let the developer decide how they want to use the framework. However, the framework is very usable without doing anything.

reflex - Reflex FRP is a composable, cross-platform functional reactive programming framework for Haskell

  •    Haskell

Reflex is an fully-deterministic, higher-order Functional Reactive Programming (FRP) interface and an engine that efficiently implements that interface. Reflex-DOM is a framework built on Reflex that facilitates the development of web pages, including highly-interactive single-page apps.

reflex-dom - Reflex FRP is a composable, cross-platform functional reactive programming framework for Haskell

  •    Haskell

Reflex-DOM is a framework for building web applications in Haskell, based on the Functional Reactive Programming library Reflex. Comprehensive documentation is still a work in progress, but a demo is available and an introductory talk is available at Part 1 / Part 2 (Slides).

Cyclejs - A functional and reactive JavaScript framework for predictable code

  •    Typescript

Functional enables “predictable” code, and Reactive enables “separated” code. Cycle.js apps are made of pure functions, which means you know they only take inputs and generate predictable outputs, without performing any I/O effects. The building blocks are reactive streams from libraries like xstream, RxJS or Most.js, which greatly simplify code related to events, asynchrony, and errors.

marble - Marble

  •    TypeScript

Functional reactive HTTP middleware framework built on top of Node.js platform, TypeScript and RxJS library. If you don't have any experience with functional reactive programming, we strongly recommend to gain some basic overview first with ReactiveX intro or with The introduction to Reactive Programming you've been missing written by @andrestaltz.

MobX - Simple, scalable state management.

  •    Javascript

MobX is a battle tested, simple and scalable state management library transparently applying functional reactive programming (TFRP). The Mobx design principle is very simple: Anything that can be derived from the application state, should be derived. Automatically. This includes the UI, data serialization, server communication, etc.

Elm - Functional Reactive Programming Language compiles to Javascript

  •    Javascript

Elm is a functional reactive programming (FRP) language that compiles to HTML, CSS, and JS. FRP is a concise and elegant way to create highly interactive applications and avoid callbacks. It aims to make web development more pleasant. Functional Reactive Programming (FRP) is a high-level way to work with interactions. It provides control flow structures for time.

DynamicData - Reactive collections based on Rx.Net

  •    CSharp

Dynamic Data is a portable class library which brings the power of Reactive Extensions (Rx) to collections. Rx is extremely powerful but out of the box provides nothing to assist with managing collections. In most applications there is a need to update the collections dynamically. Typically a collection is loaded and after the initial load, asynchronous updates are received. The original collection will need to reflect these changes. In simple scenarios the code is simple. However, typical applications are much more complicated and may apply a filter, transform the original dto and apply a sort. Even with these simple every day operations the complexity of the code is quickly magnified. Dynamic data has been developed to remove the tedious code of dynamically maintaining collections. It has grown to become functionally very rich with at least 60 collection based operations which amongst other things enable filtering, sorting, grouping, joining different sources, transforms, binding, pagination, data virtualisation, expiration, disposal management plus more.

DynamicData - Reactive collections based on Rx.Net

  •    CSharp

Dynamic Data is a portable class library which brings the power of Reactive Extensions (Rx) to collections. Rx is extremely powerful but out of the box provides nothing to assist with managing collections. In most applications there is a need to update the collections dynamically. Typically a collection is loaded and after the initial load, asynchronous updates are received. The original collection will need to reflect these changes. In simple scenarios the code is simple. However, typical applications are much more complicated and may apply a filter, transform the original dto and apply a sort. Even with these simple every day operations the complexity of the code is quickly magnified. Dynamic data has been developed to remove the tedious code of dynamically maintaining collections. It has grown to become functionally very rich with at least 60 collection based operations which amongst other things enable filtering, sorting, grouping, joining different sources, transforms, binding, pagination, data virtualisation, expiration, disposal management plus more.

turbine - Purely functional frontend framework for building web applications

  •    TypeScript

A purely functional frontend framework based on functional reactive programming. Experimental. The JavaScript world is full of frameworks. So why another one? Because we want something different. We want something that is purely functional without compromises. Something that takes the best lessons from existing JavaScript frameworks and couples them with the powerful techniques found in functional languages like Haskell. We want a framework that is highly expressive. Because when functional programming is at its best it gives you more power, not less. Turbine is supposed to be approachable for typical JavaScript developers while still preserving the benefits that comes from embracing purely functional programming.

Theatre - Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components

  •    Kotlin

Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data is fetched from LondonTheatreDirect API. The overriding rule of this architecture says that the source code dependencies always point inwards. The outer tiers can only dependent of inner tiers. Therefore, the inner tiers know nothing about the outer tiers. The more further you go through the concentric circles, the higher level the software becomes. Which means that the level of abstraction increases.

flyd - The minimalistic but powerful, modular, functional reactive programming library in JavaScript

  •    Javascript

The modular, KISS, functional reactive programming library for JavaScript. Functional reactive programming is a powerful programming paradigm for expressing values that change over time. But existing libraries for JavaScript are huge, complex, have a high learning curve and aren't functional enough.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.