this past week has been a weird experiment of seeing how far i can take a tiny xplat gtk app written in typescript.

here's how it looks. i must say, gtk on mac and windows is *damn* pretty. untweaked. kudos, gtk devs. ❤️

but ultimately, i ported to c# and wpf on windows, even though it's hideous.

gtk + gjs on windows took me *days* to get building. i had to build gjs from source, fiddle with msys2 packages, and generally try to grok the mismatch.

this silly little app kept locking up the ui, somehow. every time i thought i had it fixed, the ui locked up somewhere else. gjs issue, i think.

yes, i know python + gtk plays nicely on windows. i don't know python well enough to choose it over typescript for this. however, i do know c#. at a certain point, it was less effort to build (and, hopefully, maintain) a braindead c# + wpf port.
@deobald if you like GTK and C# you could check out [GirCore](https://github.com/gircore/gir.core) which is my contribution to open source as I like the modern dotnet and the binding friendly GNOME / GTK environment.

@badcel i'd looked at it, but i wasn't clear on the maturity ... it looks like maybe the milestones page isn't up to date?

this could be a nice option, if c# + gtk apps run cleanly on windows. also nostalgic, since my earliest gnome days were filled more with mono than gnome/gtk itself :)

i'm very curious to hear how you feel about the maturity of gir.core for 3-way xplat apps

@deobald the milestones are up to date. I probably should link to a sorted view of it.

I do not promote it as “ready” because it is incomplete and under active development.

I won’t recommend it for commercial use either, as there are missing things.

For small tools or or open source work it is fine as you can find workarounds. Check out the apps page: https://github.com/gircore/gir.core/blob/main/docs/docs/apps.md

gir.core/docs/docs/apps.md at main · gircore/gir.core

A C# binding generator for GObject based libraries providing a C# friendly API surface - gircore/gir.core

GitHub