dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
21.95k stars 1.7k forks source link

[Enhancement] Offer WPF as an option for the Windows host (especially Blazor Hybrid) #1789

Open TheCakeMonster opened 3 years ago

TheCakeMonster commented 3 years ago

Summary

MAUI is going to use WinUI 3 as its Windows host. WinUI is not something that many .NET developers are going to find very comfortable, so I think offering WPF as a possible host for Windows might cause them less frustration and failure than a WinUI host will.

API Changes

As I have suggested in https://github.com/dotnet/maui/issues/1557 I think WinUI is outside of the sphere of experience of a lot of .NET developers, and it seems to have some unfortunate side effects on build performance, publishing, runtime dependencies and so on. This is a lot of friction for developers to suffer when they are new to MAUI. I think MAUI is really promising, and I am concerned that a lot of developers will be put off from using it if they have bad experiences with it, even when those issues are not to do with MAUI directly. This could unduly give MAUI a bad name, and that would be a terrible shame.

Is there a way that a WPF host can be made available as an option to replace WinUI? This would be especially beneficial for people who intend to develop their UIs using Blazor, and therefore don't benefit from any of the more modern UI features available in WinUI.

UweReisewitz commented 3 years ago

This would also broaden the usage of MAUI for older (supported) operating systems like Server 2016

juepiezhongren commented 3 years ago

appkit is another one, where catalyst is not good enough.

Eilon commented 3 years ago

I can't speak for .NET MAUI as a whole, but for Blazor Desktop, we have support for directly hosting Blazor components in WPF and in WinForms because we have controls for those platforms as well.

juepiezhongren commented 2 years ago

with drawn controls, it is totally possible, even including appKit

Martinn2 commented 2 years ago

If MAUI core was separated the way I suggest in #4721 it would be much easier to add WPF with drawn controls and/or Blazor.