News

With Many Options, .NET Dev Asks for Tech Choice Help: 'I Am Lost'

What's a .NET coder to use for a desktop/Android app when presented with a dizzying array of options that include .NET MAUI, Win UI, WinForms, WPF, UWP, Blazor and so on?

You go to the new .NET Tech Community Forums site and declare "I am lost" because "it's a mess to get an overview of what would fit best."

The new site was revealed a couple months ago, designed to be a one-stop-shop for all .NET developer topics and discussions.

Just a couple weeks ago, a developer with the handle NickJ911 sought help with choosing tech for a new Windows/Android app, finding many options to choose from -- perhaps too many. As we detailed in the articles .NET 6 Desktop Dev Options: WPF, WinForms, UWP, .NET MAUI, Blazor ... and Microsoft Details 9 Desktop Dev Options, from WPF to Blazor, there are now multiple choices for just about any type of project, especially Windows desktop, with new choices like Blazor and .NET MAUI added to the traditional mix.

.NET -- A Unified Platform
[Click on image for larger view.] .NET -- A Unified Platform (source: Microsoft).

As we said in one of those articles in March 2021: "The .NET desktop development ecosystem is chock-full of options, ranging from traditional Windows Presentation Foundation (WPF) and Windows Forms (WinForms) to cutting-edge Blazor and .NET MAUI (.NET Multi-platform App UI). So much so that developers may be confused as to which way to go."

And that's exactly what happened with NickJ911.

Here's the question posed Dec. 28, 2021 (minor editing of posts throughout):
What platform/technology/framework to use. I am lost. :-(

Hi everyone,

I want to develop a new application that will run on Windows (desktop app) and Android.

I have about 30y of experience in development and the last 15 in C#/VS/.NET.

At work we work with WinForms/WPF and .NET 4.8.

For my personal new product I would like to start with all the latest and greatest but it's hard to find what to use. First of all I upgraded to VS 2022.

I've been reading about .NET5/6, Xamarin, Xamarin.Forms, .NET MAUI, Win UI, WinForms, WPF, UWP, Blazor, .NET Core, .NET Standard,.... but it's a mess to get an overview of what would fit best.

The project would have 1 or 2 core assemblies with the logic and then a UI for Windows and one for Android.

So before I start I would like to get an idea of what you would use.

Thanks!

.NET Tech Community members were quick to help out with suggestions.

One reply was short, simple and direct:

Use .NET 6 WebApi for the API Use Blazor for the UI Use MAUI/Xamarin to use the Blazor app in Android

Another suggested .NET MAUI, which has been described as the evolution of Xamarin.Forms because it adds desktop app support in addition to Android and iOS. Unfortunately, it "slipped the schedule" and wasn't included in the Nov. 8, 2021, debut of .NET 6, so it's now on track to reach general availability in the second quarter of this year. That was noted in the reply:

I believe .NET MAUI is intended to unify and replace technologies like WPF. UWP or Xamarin. It's in preview at the moment, but it only matters if you want to release in the next four months.

Note that Nick is currently using WPF, MAUI is not that different.

Another reply didn't offer help for NickJ911's particular situation but pointed to a couple resources for quick overview guidance about .NET:

Yet another reply suggested the open source Uno Platform, a major player in Microsoft development tooling. It claims the only offering that fosters development of single-codebase applications for Windows, WebAssembly, iOS, macOS, Android and Linux, targeting all OSes and browsers.

Here's the case made for Uno Platform:

@NickJ911 Uno Platform may be a good fit for you; it is open source, production ready today (MAUI is not) and proven with real apps. It leverages .NET 6, C# 10 and Xamarin (not Forms but the stuff in .NET), uses one of the best designed .NET UI frameworks: WinUI 3, which you use directly to build for Windows and then UNO has ports of WinUI 3 for Android, iOS and more on top of Xamarin.

UNO also lets you target the browser via WebAssembly with the same UI framework and source code (so not a mix of 2 frameworks like Blazor and MAUI)

On top of that, if you like C# and would prefer declarative C# to XAML for your UI, you can create your UI (and so your entire app) in C# 10 with C# Markup 2 for WinUI and Uno Platform (disclosure: I am the author of that library - let me know if you need help using C# Markup)

I have about 20 years C# .NET experience, last 8 years in Xamarin, and specialize in the developer experience of .NET UI frameworks.
Just last week, NickJ911 made his choice:
Thank you all very much for the replies; it's sure a good read to find my way through all of it.

Will have a look at Uno and see what that brings up.

Best regards

Another satisfied customer at the .NET Tech Community Forums.

And NickJ911, if you're reading this, let us know how it turns out.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube