Cercando informazioni su C# o CSharp nel forum, trovo solo riferimenti a Mono. Così ho deciso di creare questo thread per fare un po' di luce su una possibilità di sviluppare in C# e Gtk su Linux.
Quando lavoravo, ho sviluppato molte applicazioni WinForm in C# sotto Windows. Sono quindi a mio agio con questo linguaggio e ho sempre voluto usarlo su Linux. Ma riutilizzare il suo codice per eseguirlo sotto Linux non è facile. Mono permette di eseguire applicazioni WinForm con qualche volta un piccolo adattamento, ma il risultato è spesso deludente.
A volte è necessario riscrivere la parte che gestisce la GUI usando un framework diverso, se possibile multi-piattaforma, o perfettamente integrato come Gtk in Ubuntu.
Per questo, c'era MonoDevelop che permetteva di codificare in C# con Gtk, l'avevo provato qualche anno fa prima di rinunciare. Sembra che oggi solo la versione per Mac sia mantenuta.
Oggi è possibile usare VSCode per codificare un'applicazione C# usando .Net (open source), Gtk3 per l'interfaccia utente e Glade per creare questa interfaccia.
Il componente GtkSharp utilizzato è un fork di mono/gtksharp che sembra essere stagnante.
Le spiegazioni qui su come iniziare un progetto.
La stessa cosa nel video (in francese)
In sintesi, prima installiamo il modello GtkSharp
Codice: Seleziona tutto
dotnet new --install GtkSharp.Template.CSharp
Per finire nel terminale VSCode, creiamo l'applicazione
Codice: Seleziona tutto
dotnet new gtkapp
Installare l'SDK o solo il runtime .Net su Ubuntu: https://learn.microsoft.com/it-it/dotne ... nux-ubuntu
Pubblicazione: https://learn.microsoft.com/it-it/dotne ... deploying/
Poi si puo impacchettare il risultato per produrre un .deb, snap, flatpak o altro, o semplicemente un archivio zip.
Ho provato la pubblicazione di una versione standalone (da Ubuntu) che punta alla piattaforma win7-x64 poiché questa è la versione che ho nella mia VM. Su Windows 7, basta installare Gtk3 e l'applicazione funziona senza alcuna modifica!