Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/05/2021, à 14:56

Rafbor

Développer en C# et Gtk sous Linux

Bonjour,
Ayant beaucoup développé d'applis WinForm en C# sous Windows, réutiliser son code pour le faire tourner sous Linux n'est pas aisé.
Mono permet de faire tourner avec parfois un peu d'adaptation les applis WinForm, mais le résultat est souvent décevant.

Il est parfois nécessaire de réécrire la partie qui gère l'IHM en utilisant un framework différent, si possible multi-plateforme, ou parfaitement intégré comme Gtk dans Ubuntu.

Pour ça, il y avait MonoDevelop qui permettait de coder en C# avec Gtk, j'avais testé il y a quelques années avant de laisser tomber. Il semble que seule la version Mac soit maintenue aujourd'hui.

Et puis je suis tombé sur cette vidéo: https://www.youtube.com/watch?v=NELvr94 … =PafLeGeek
qui explique comment utiliser VSCode pour coder une appli C# en utilisant .Net (open source), Gtk pour l'UI, et Glade pour créer cette interface.

Le composant GtkSharp utilisé est un fork de mono/gtksharp qui semble stagner.

Le résultat est à la hauteur, j'ai pu constater une nette amélioration des performances d'une appli WinForm que j'utilisais sous Mono, réécrite en GtkSharp et sous .Net 5.0
mini_210513041907924231.png

Pour le déploiement, .Net permet de publier une version autonome incluant le runtime .Net ou une version plus légère sans le runtime, dans ce cas, l'utilisateur doit installer le runtime sur son PC.

Installation du Sdk ou seulement du runtime .Net sur Ubuntu: https://docs.microsoft.com/fr-fr/dotnet … nux-ubuntu
Publication d'applications: https://docs.microsoft.com/fr-fr/dotnet/core/deploying/
Reste ensuite à empaqueter le résultat pour produire un .deb, snap, flatpak, ou autre.

Edit: j'ai testé la publication d'une version autonome (à partir d'Ubuntu) en ciblant la plateforme win7-x64 car c'est la version que j'ai dans ma VM. Sur Windows 7, il suffit d'installer Gtk3 et l'appli fonctionne sans aucune modification !

Dernière modification par Rafbor (Le 19/12/2021, à 18:15)


Xubuntu 22.04 - Mes projets sur Github

Hors ligne

#2 Le 15/02/2023, à 20:23

Rafbor

Re : Développer en C# et Gtk sous Linux

J'ai créé une page de doc dédiée au C# avec .NET, qui reprend les principes expliqués au post #1, et qui va même au delà, le tout illustré avec des exemples.
c'est ici: https://doc.ubuntu-fr.org/csharp


Xubuntu 22.04 - Mes projets sur Github

Hors ligne