Let's compare some MVVM frameworks

Every time when you want to start a new project with Xamarin, on one hand you want to try a new libraries and frameworks, but on the other hand you are scared about “what if I will spend pretty much time to learn some framework/libraries/etc, it will not fit in my requirements”.

I’m familiar only with MvvmCross and it happens with me every time when I want to try a new MVVM framework for some new projects.

So, let’s take a look to a most popular Xamarin MVVM frameworks (by alphabet):

In this series of articles I want to dive deep into a few things:

Also I will make a small projects for each of frameworks and upload their to github.

I think I will split the article to a few small articles by above parameters. Well, now we’ll make a quick reviews for each of frameworks.

Intro

To light compare these frameworks I use following parameters: is it OSS, how many platforms are frameworks using, a develop state, will try to find some big projects wich using these frameworks.

Framework OSS License Platforms Developing state Apps
FreshMvvm Apache-2.0 Xamarin.Forms Active  
MvvmCross MS-PL Xamarin.Forms,
Xamarin.Android,
Xamarin.iOS,
Xamarin.Mac,
Xamarin.tvOS,
UWP,
WPF
Active CodeHub (iOS)
Fish Angler (Android)
Fish Angler (iOS)
Caledos Runner (Android)
MvvmLight MIT Xamarin.Forms,
Xamarin.Android,
Xamarin.iOS,
UWP,
WPF,
Windows Phone (deprecated),
Silverlight (deprecated)
Not active  
Prism Apache-2.0 Xamarin.Forms,
UWP,
WPF
Active  
ReactiveUI MS-PL Xamarin.Forms,
Xamarin.Android,
Xamarin.iOS,
Xamarin.Mac,
UWP,
WPF,
WinForms
Active Mimo (iOS and Android)
Github Desktop (Windows)
nonlinear
Espera (WPF and Android)
CodeHub (iOS)
PdrMobile (iOS and Android)
More example on GitHub

As you can see all of these frameworks are a good products with community and support. Some of them is only for Xamarin.Forms, some of them has not active support right now, but you can pick any of them and build a great app on many platforms. Any licence provide commercial use, which is good. Going forward, I want to say each of frameworks has infrastructure to build any bussines logic.

If you see some inaccuracies or defects in this article, you can send PR to improve it. Especially if you see grammar mistakes (probably it has a lot of mistakes).