GNU/Linux >> Tutoriels Linux >  >> Linux

Interfaces graphiques multiplateformes avec .NET open source utilisant Eto.Forms

C'est l'un de ces "Saviez-vous que vous pouviez faire ÇA ? " Beaucoup de gens ont compris que C#/F#/.NET est multiplateforme et open0source et fonctionne sur pratiquement n'importe quel système d'exploitation. Les gens l'utilisent pour créer des microservices, des sites Web et des API Web partout. Sans parler de l'iPhone/Android des applications avec Xamarin et des jeux vidéo avec Unity et MonoGame.

Mais qu'en est-il des interfaces utilisateur multiplateformes ?

Bien qu'il ne soit pas officiellement pris en charge par Microsoft, vous pouvez faire des choses géniales... comme c'est ainsi que l'Open Source est censé fonctionner ! N'oubliez pas qu'il existe maintenant une famille de runtimes .NET, il y a le .NET Framework sur Windows, il y a xplat .NET Core et il y a xplat Mono.

Eto.Forms est en développement depuis 2012 et est un framework multiplateforme pour la création d'applications GUI (interface utilisateur graphique, natch) avec .NET qui s'exécutent sur plusieurs plates-formes à l'aide de leur boîte à outils native. Pas comme Java dans les années 90 avec des boutons personnalisés peints sur toile.

Il est utilisé pour de vrais trucs! En fait, PabloDraw est un éditeur de texte Ansi/Ascii dont vous ne saviez pas avoir besoin dans votre vie. Mais si. Il fonctionne sous Windows, Mac et Linux et a été écrit à l'aide d'Eto.Forms, mais possède une interface utilisateur native sur chaque plate-forme. Assurez-vous de consulter le compte Twitter de Curtis Wensley pour quelques exemples intéressants de ce que PabloDraw et Eto.Forms peuvent faire !

  • OS X :MonoMac ou Xamarin.Mac (et également iOS via Xamarin)
  • Linux :GTK# 2 ou 3
  • Windows :Windows Forms (utilisant GDI ou Direct2D) ou WPF

Voici un exemple Hello World. Notez qu'il n'y a pas que Code First, vous pouvez également utiliser Xaml, ou même Json (.jeto) pour mettre en page vos formulaires !

using Eto.Forms;
using Eto.Drawing;

public class MyForm : Form
{
public MyForm ()
{
Title = "My Cross-Platform App";
ClientSize = new Size(200, 200);
Content = new Label { Text = "Hello World!" };
}

[STAThread]
static void Main()
{
new Application().Run(new MyForm());
}
}

Ou je peux simplement Fichier | Nouveau projet avec leur extension Visual Studio. Vous devriez certainement essayer.

Même sur la même plate-forme (Windows dans l'exemple ci-dessous), Eto.Forms peut étonnamment utiliser les contrôles natifs que vous préférez. Voici un excellent exemple de zip contenant des applications de test précompilées.

Une fois que vous avez installé une nouvelle version de Mono sur Ubuntu, vous pouvez exécuter le même exemple que Gtk3, comme je le fais ici dans une VM. INCROYABLE.

Voici quelques exemples d'applications qui sont dans la nature, utilisant Eto.Forms :

  • MonoGame Pipeline Tool - Gestionnaire de contenu pour MonoGame
  • Responsable - Logiciel de comptabilité
  • PabloDraw - Application de dessin basée sur des caractères
  • JabbR.Desktop :client JabbR
  • Notedown - Application de prise de notes
  • Eto.Test - Application pour tester la fonctionnalité de chaque widget
  • DotImaging.UI - Éléments d'interface utilisateur portables pour DotImaging

Il se passe tellement de choses intéressantes dans .NET open source en ce moment, et Eto.Forms recherche activement de l'aide. Allez voir leur excellent Wiki, lisez les Tutoriels et participez peut-être !

Parrain : Obtenez le dernier JetBrains Rider pour le débogage du code .NET tiers, Smart Step Into, d'autres améliorations du débogueur, C# Interactive, un nouvel assistant de projet et le formatage du code dans les colonnes.


Linux
  1. Partage de fichiers open source avec cet outil Linux

  2. Effectuez des analyses de mémoire Linux avec cet outil open source

  3. System76 présente des ordinateurs portables avec coreboot BIOS open source

  4. Veracrypt - Un outil de chiffrement de disque multiplateforme open source

  5. Gestion des noms de fichiers multiplateformes dans .NET Core

Gérez votre budget sous Linux avec cet outil de financement open source

Comment j'utilise Stream Deck sur Linux avec des outils open source

Mettez à jour les appareils à distance avec cet outil open source

Essayez Linux sur votre Mac avec la virtualisation open source

Créer un SDN sous Linux avec open source

ZEIT déploie désormais des applications Web open source ASP.NET Core avec Docker