You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Winforms is a wrapper around C/C++ windows APIs. This means there is a tight coupling to the operating system and hence they won't ever do it.
The only way I can see it working is if we added a translation layer between the interop and winforms code, allowing a code path for Linux.
But honestly it's easier to just use Wine to enable compatibility. There isn't much advantage to a native Linux build.
If we wanted a desktop based UI framework like winforms that was cross platform it would have to use the Vulkan graphics API and MoltenVK to translate Vulkan calls to Metal on Mac. Microsoft is in control of dotnet and would be unlikely to support a competitor to their DirectX graphics API.
As @elachlan points out it would be a monumental task with little benefit over using emulation or virtualization. Being a thin wrapper around Win32 means we're pretty hard tied into the idiosyncrasies of it. We dropped Unix support for System.Drawing as the task was too difficult to accomplish at an acceptable bar, WinForms would need that component with a whole lot more work on top to boot.
Background and motivation
Windows Forms is very amazing and easy to use, and since it's open-source I don't understand how was it still not properly ported to Linux.
The text was updated successfully, but these errors were encountered: