Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port WinForms to Linux? #10028

Open
MichaelAgarkov opened this issue Oct 2, 2023 · 1 comment
Open

Port WinForms to Linux? #10028

MichaelAgarkov opened this issue Oct 2, 2023 · 1 comment
Labels
api-suggestion (1) Early API idea and discussion, it is NOT ready for implementation untriaged

Comments

@MichaelAgarkov
Copy link

MichaelAgarkov commented Oct 2, 2023

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.

@MichaelAgarkov MichaelAgarkov added api-suggestion (1) Early API idea and discussion, it is NOT ready for implementation untriaged labels Oct 2, 2023
@elachlan
Copy link
Contributor

elachlan commented Oct 2, 2023

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.

Tldr: won't be done, use wine it's easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-suggestion (1) Early API idea and discussion, it is NOT ready for implementation untriaged
Projects
None yet
Development

No branches or pull requests

2 participants