Sviluppare in C# e Gtk su Linux

Configurazione e uso di IDE, editor, compilatori, in fase di programmazione.
Scrivi risposta
Avatar utente
Rafbor
Prode Principiante
Messaggi: 142
Iscrizione: domenica 13 febbraio 2022, 18:22
Desktop: Xubuntu
Distribuzione: 22.04.3 LTS
Località: Francia

Sviluppare in C# e Gtk su Linux

Messaggio da Rafbor »

Salve,
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
Poi creiamo una cartella per la nostra nuova applicazione e la apriamo in VSCode.
Per finire nel terminale VSCode, creiamo l'applicazione

Codice: Seleziona tutto

dotnet new gtkapp
Il risultato è ottimo, sono stato in grado di vedere un netto miglioramento delle prestazioni di una mia applicazione WinForm che stavo usando con Mono, riscritta in GtkSharp e con .Net 6.0
rafcomptascreenshot.png
Per la distribuzione, .Net permette di pubblicare una versione standalone che include il runtime .Net o una versione più leggera senza il runtime, nel qual caso l'utente deve installare il runtime sul suo PC.

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!
Scrivi risposta

Ritorna a “Strumenti per la programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti