I'm a little confused. Can anyone explain exactly what the difference is between the two? When should we use MAUI and when UNO? As I realized, both can run on different platforms, so what is the reason for introducing two different technologies at the same time? Can they run on Windows 7? Or are they just limited to Windows 10? Can my WPF program run on Linux with these two technologies?
I've been developing with Xamarin.Forms (to be renamed MAUI) for 5+ years and Uno Platform for soon to be four months. There are a number of differences that, to me, made it worth my time to move from Xamarin.Forms to Uno. First, the similarities:
Now the differences:
Lastly, you asked if you your WPF program can run on Linux with these two technologies. The answer is
Your mileage may vary. However, if you have experience with WPF or UWP, I would highly recommend Uno. If you have experience with neither, then I would recommend Uno because of the superior performance with Android.
A different perspective is that at this moment you can only compare UNO to what Xamarin.Forms do TODAY. If you are a member of the MAUI teams, then you should light up the way, but I am not. You really do not know what structural changes are being made to be more performing and lately Microsoft has put a lot of emphasis in performance - so I would guess they will surely work hard on the Java/C# divide.
Other thing to consider is that MAUI is a Microsoft API, UNO is not ( right now) Wo knows in the future , Microsoft tends to buy out technology they like and fits the vision.
IF you need Cross-Platform development now you are comparing between UNO which is available right now and Xamarin.Forms. MAUI is announced for 2021 if it does not gets delayed.
Now to answer your real question: You can run WPF today on linux using .NET Core , you do not need to wait for MAUI or get out of Microsoft API's.
Uno team has also covered this question in the docs - https://platform.uno/docs/articles/intro.html#how-is-uno-platform-different-from-net-maui
Uno Platform applications are cross-platform, running on the web as well as mobile and desktop, equally, from a single codebase. Blazor is a feature of ASP.NET for primarily building web applications.
Uno Platform applications are written in C# and XAML markup, whereas Blazor applications are written in 'Razor' syntax, a hybrid of HTML/CSS and C#.
Uno Platform and Blazor both make use of .NET's WebAssembly support to run natively in the browser.