WinUI, UWP, WPF, Xamarin ?

As someone mentioned here WinUI is way they will allow you to make cutting edge features and controls on older versions of Windows 10. WinForms and WPF are here to stay for long especially in business area. Back when I was bulding native apps I was always fascinated how easy was to make good looking UI with WPF/XAML. I still think in some cases XAML is far supperior to the web stack (HTML/CSS). UWP is currently "dead" because devs are not invested in platform, but main goal of WinUI is to slowly convert WPF/WinForms devs to the UWP platform. Xamarin is story about itself. It's crap, but still I would choose it any day for making mobile apps, because Java sucks a lot more. Latest approach for making UI in Microsoft is called Blazor. It's main audience are .NET developers which don't have experience with XAML based frameworks, but have experience with web stack, because Blazor allows you create logic in C# and UI in HTML. They currently experimenting with using it to make mobile apps.

Myfuture predictions are this: - WinForms/WPF will be here for a long time (I would say probably for another 10-20 years) - UWP as a alternative for WPF wont get much traction in next 5 years. (But UWP as a platform model will slowly grow as Win32 will be made legacy and we will see what Windows 10 X holds for us) - WinUI will slowly make WinForms/WPF devs to get familiar with new Windows platform and sees its advantages, so they will be more willing to switch to UWP eventually. - For cross platform it will be Xamarin or Blazor. I think Microsoft will take one which will get more favor from developers. Another possibility is that Microsoft will make another cross platform solution similar to things like Avalonia Ui (which is community successor to WPF) - And finally Microsoft showed shat future holds for Blazor. Their roadmap is ambitious and they want you to use for making server apps, SPAs, PWAs, Hybrid apps (Blazor SPA running in Electron and WebView) and Native apps (Which will render platform native UI controls). I think one of the reasons why they abandoned old Edge on their own technology and switched to Chromium was to have high quality webview integred in Windows (But that is pure speculation on my side). I have to say that not everyone in MSFT is convinced that Blazor is way foward. (This information comes from one of the employees)

/r/csharp Thread