jsuarezruiz / maui-linux

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
MIT License
822 stars 33 forks source link

We need your help to help! #34

Open thomiel opened 2 years ago

thomiel commented 2 years ago

Description

I was wondering if this project shouldn't actively invest more in community building and make it easier for for non-MVP to contribute.

I think, the first step to more open up to the Linux community here could be to document install/build steps for building maui-linux on a native Linux system. How about a tutorial showing setup of a dev environment with Raider or VS Code? Maybe we could organize a workshop or something.

This project has the potential to really prove all the folks wrong who are whining about Microsoft not loving Linux (desktop) hard enough! It would be nice if this would be more of a community crystallization point rather than a mere pull request processor.

Steps to Reproduce

n/a

Version with bug

Unknown/Other (please specify)

Last version that worked well

Unknown/Other

Affected platforms

Other (Tizen, Linux, etc. not supported by Microsoft directly)

Affected platform versions

Ubuntu 20.04 LTS

Did you find any workaround?

No response

Relevant log output

No response

LUJIAN2020 commented 2 years ago

agree

BernhardNinaus commented 2 years ago

That would be really nice!

I just have to much free time and really want to do something for the community!

Tank you so far!

thomiel commented 2 years ago

I have created a maui-linux room on Matrix: https://matrix.to/#/#maui-linux:matrix.org -- I hope this is acceptable for most of you for the start. If you think another platform would be more suitable, go ahead. The more the merrier! (But I personally think it should be an open platform.) At some point we could do a pull request with active channels in the README.md to make them somewhat official.

I will crosspost this on Issue #3 as well.

jsuarezruiz commented 2 years ago

I have created a maui-linux room on Matrix: https://matrix.to/#/#maui-linux:matrix.org -- I hope this is acceptable for most of you for the start. If you think another platform would be more suitable, go ahead. The more the merrier! (But I personally think it should be an open platform.) At some point we could do a pull request with active channels in the README.md to make them somewhat official.

I will crosspost this on Issue #3 as well.

Thanks. Now is available from the README.md.

thomiel commented 2 years ago

@jsuarezruiz What do you think about reaching out to the .NET Foundation to back the project administratively?

jsuarezruiz commented 2 years ago

I have created a maui-linux room on Matrix: https://matrix.to/#/#maui-linux:matrix.org -- I hope this is acceptable for most of you for the start. If you think another platform would be more suitable, go ahead. The more the merrier! (But I personally think it should be an open platform.) At some point we could do a pull request with active channels in the README.md to make them somewhat official.

I will crosspost this on Issue #3 as well.

Is fine, I can ask if we can have a channel in the DotNet Discord.

jsuarezruiz commented 2 years ago

@jsuarezruiz What do you think about reaching out to the .NET Foundation to back the project administratively?

Yes, I certainly think it would help. I'll try to move it in that direction.

mcopjan commented 2 years ago

Can anyone provide some information, how to actually use this repo? E.g. is it possible to compile BlazorWpfApp from this repo to target Ubuntu and then run this on Ubuntu when .net 6 is installed there?

thomiel commented 2 years ago

Unfortunately, the repo isn't currently in a good shape to be used. One cause that I suspect is the somewhat unclear release state of GTK 3. This causes problems under different conditions, e.g. the GtkSharp version referenced in branch main-linux can't be found on nuget and there is no proper Gtk installer for Windows available. And I think the repo badly needs some upstream love. And this is can be used in terms of it's building and ready to be developed further -- and not in the sense of can be used in production. After all, the MAUI without GTK wasn't finally released and is still preview.

The the GTK backend for Xamarin.Forms relies on GTK 2 and is much more usable for production imho (although I stumbled upon problems with the latest Debian where two graphic libraries were no longer supplied by the packet manager.) But of course, this won't help you as you obviously want to do something using BlazorWebView.

tripleo1 commented 2 years ago

One cause that I suspect is the somewhat unclear release state of GTK 3.

I don't know if you mean GtkSharp 3.xx, because GTK (on Linux) is up to version 4 (although version 3 is very much alive). Also, I suspect many people that are here in the first place are not worried too much about GTK in any form running on Windows or Mac -- as far as I know, they both have support from MS.

I just want to port some C# apps that I find on GitHub to my Linux system without rewriting them completely in another language.

BTW, the command line is as important as IDEs... (but VS Code is acceptable too).

thomiel commented 2 years ago

One cause that I suspect is the somewhat unclear release state of GTK 3.

I don't know if you mean GtkSharp 3.xx, because GTK (on Linux) is up to version 4 (although version 3 is very much alive).

You are right. It's GTK#. See here:

microhobby commented 1 year ago

Any news about this? The .NET Foundation back and the discord community?

thomiel commented 1 year ago

There was some activity via the Matrix room, a .NET 6 workload for GtkSharp and adaptions in Microsoft.Maui.Graphics regarding Gtk. (Microsoft.Maui.Graphics seems to have moved into the Microsoft.Maui repo though.)

Seems that there is a tendency within Microsoft to proceed wit Gtk integration in Maui for .NET 7, if I interpret Discord murmur right.

microhobby commented 1 year ago

@thomiel wow, this is awesome news! @jsuarezruiz could you confirm something in advance?

jsuarezruiz commented 1 year ago

@thomiel wow, this is awesome news! @jsuarezruiz could you confirm something in advance?

There's definitely internal conversations about Linux, but I can't share anything right now.

lytico commented 1 year ago

i started merging recent maui: https://github.com/jsuarezruiz/maui-linux/pull/37

lytico commented 1 year ago

State

Controls.Samples.Gtk is running again:

grafik

kdotdk commented 1 year ago

There's definitely internal conversations about Linux, but I can't share anything right now.

I read in another posting that Linux was a marginal (Ed: Desktop) OS, hence it was not interesting for Microsoft to supply MAUI support. But if the MAUI Linux disk/ram footprint is not too big - the marked for UI is very large on embedded Linux systems.

pha3z commented 1 year ago

I don't have a lot of optimism about this project succeeding.

But honestly it got me to wondering why we can't user a different approach. If you're deploying a Blazor Hybrid app across all other platforms with MAUI, you could just deploy your Blazor app in Server mode on Linux and then use any run-of-the-mill browser or wrapped-webview to connect to the app. 99% of Linux users are going to be comfortable with having a web server listening on localhost and using that as the app host.

Anyone else see a reason why this wouldn't be a viable solution to get Blazor on Linux?

EricOnGit commented 1 year ago

I don't have a lot of optimism about this project succeeding.

But honestly it got me to wondering why we can't user a different approach. If you're deploying a Blazor Hybrid app across all other platforms with MAUI, you could just deploy your Blazor app in Server mode on Linux and then use any run-of-the-mill browser or wrapped-webview to connect to the app. 99% of Linux users are going to be comfortable with having a web server listening on localhost and using that as the app host.

Anyone else see a reason why this wouldn't be a viable solution to get Blazor on Linux?

I can see the hardware integration as less viable in this scenario. Accessing usb, bluetooth, wifi are nice tricks that MAUI brings to the table that are much less obvious when running in a browser. Sure you can move this code to the web server but it smells just writing it...

Otherwise, I think you're right. Local Server + Browser will have to suffice, at least for now.

seriouz commented 1 year ago

@thomiel wow, this is awesome news! @jsuarezruiz could you confirm something in advance?

There's definitely internal conversations about Linux, but I can't share anything right now.

I want to run MAUI on my Steam Deck!