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
22.28k stars 1.76k forks source link

Add Linux support #5801

Closed vini-nu closed 1 year ago

vini-nu commented 2 years ago

Description

Is there any Linux Wayland or/and X11 support planned for MAUI? If there is no Linux support, then MAUI is not cross-platform framework in practice.

Public API Changes

Wayland or/and X11 support

Intended Use-Case

In Linux distributions, end-user artifacts intended to be packed into flatpaks. https://wiki.archlinux.org/title/wayland#GUI_libraries https://wayland.freedesktop.org/docs/html/

ghost commented 2 years ago

We've moved this issue to the Future milestone. This means that it is not going to be worked on for the coming release. We will reassess the issue following the current release and consider this item at that time.

pendingtask commented 2 years ago

Linux support plz

eduarddejong commented 2 years ago

Please add Linux / Unix support to MAUI! MAUI was promised / supposed to run everywhere.

Reasoning: Not only would it just be great for the "hobbyists" (and not to mention those who are developers on Linux), but I also see true market value here: more and more devices run based on a real Linux system. Just think about Steam Deck, which is not only used for gaming, but also for other activities. It's time to leave old, conservative ideas behind.

Adding Linux/Unix desktop support is a need, not a luxury.

greatawesome commented 2 years ago

Agreed. Embedded Linux will become more crucial for our business over time, so unfortunately we won't be using MAUI for new development.

It is great that C# and dotnet are so portable. MS (and Xamarin) deserve a ton of kudos for that. It is just a shame that this portability doesn't extend to 1st party UI frameworks. Thankfully there are 3rd party frameworks who are doing great work here.

Unfortunately for MS, not everyone is aware of or comfortable using those 3rd party solutions, so people will leave the platform altogether for things like Flutter.

helloxubo commented 2 years ago

Please add support for Linux.

vini-nu commented 1 year ago

Related: https://www.reddit.com/r/dotnet/comments/10o4lbw/which_os_are_you_primarily_developing_on/

ghost commented 1 year ago

Considering that integrating support for popular Linux libraries like gtk, glib, pango, adwaita, cairo, etc., can be achieved relatively easily using PInvoke, it seems like a logical addition. I even managed to implement approximately 10% of the gtk4 API in just a few hours, with most of the time spent on debugging and familiarizing myself with PInvoke. It's worth noting that I only have about a month's experience with dotnet, which speaks to the accessibility and potential of incorporating Linux native support into MAUI.

YoshiRulz commented 1 year ago

The pain of dealing with pango and cairo dependencies was cited as one of the reasons for making System.Drawing.Common Windows-only going forward, though that's coming from MS so take it with a grain of salt. But if getting MAUI running with GtkSharp (why would you make new bindings from scratch) was easy, surely the team of contributors working on it would have finished by now. Mind Dunning-Kruger.

mattleibow commented 1 year ago

Hi, there are various other requests and discussions in this repo that cover this topic, such as https://github.com/dotnet/maui/discussions/339, https://github.com/dotnet/maui/issues/8802, and others.