Xamarin.forms: Xamarin.Froms.Platform.GTK - .NET Standard 2.0

Created on 22 Jul 2018  Â·  9Comments  Â·  Source: xamarin/Xamarin.Forms

Please consider making the GTK platform a .NET 2.0 standard assembly

gtk proposal-accepted enhancement âž•

Most helpful comment

Regarding GTK#2 vs GTK#3, GTK#3 is very stable and complete now, Eto.Forms uses it, Avalonia uses it. GTK2 is officially deprecated, and inferior. GTK3 includes many improvements as well as lots of new widgets.

It's time to let go of the past and move to GTK3

All 9 comments

This request doesn't make sense to me. I would close this unless @grahamehorner gives more details.

@charlesroddie IMHO the GTK should be a .net standard library given the GTK is platform agnostic and can therefor run on unix, mac and windows operating systems. which unless I'm mistaken is the goal for this platform implementation ?

I see. This seems reasonable.
I am not sure how important running Xamarin.GTK outside of Linux is, given that WPF and UWP and Mac are targetable via Xamarin.Forms.
https://github.com/jsuarezruiz/forms-gtk-progress/blob/master/Platform-Support.md indicates it is possible using Mono/GTK#. I would guess that moving from mono to dot net core or dot net standard would be a lot of work (given that xamarin hasn't generally moved from mono to dot net core on relevant platforms for this reason).

@charlesroddie I'm happy to fork this repo and give it a go as I believe this would have massive appeal to those writing .net core code that needs a client UI other than a HTML/web style

I think this means switching to different gtk-sharp dll's?

GtkSharp was forked from Mono and now supports .NET Standard and GTK3 (https://github.com/GtkSharp/GtkSharp). It looks like the Xamarin.Forms GTK implementation might use the old Mono GTK# libraries which were built around GTK2 (see this FAQ: https://github.com/jsuarezruiz/forms-gtk-progress/blob/master/Faq.md).

If the GtkSharp bindings are the only thing stopping the project from supporting .NET Standard then hopefully it can fairly easily be updated to support the newer library?

isn't that going to happen because of dotnet-5?

Xamarin.Froms.Platform.GTK needs to support dotnet core(soon to be .net 5). The only way currently to develop Xamarin.GTK on Linux is MonoDevelop, and MonoDevelop 8 drops linux support, this means there will be zero ways.

The only option after that is vscode, but that will require using dotnet core(soon to be .net 5) and dotnet tooling, like dotnet new, dotnet build and dotnet run.

dotnet standard isn't a runtime, so it will have to be run on dotnet core anyway.

Regarding GTK#2 vs GTK#3, GTK#3 is very stable and complete now, Eto.Forms uses it, Avalonia uses it. GTK2 is officially deprecated, and inferior. GTK3 includes many improvements as well as lots of new widgets.

It's time to let go of the past and move to GTK3

Was this page helpful?
0 / 5 - 0 ratings