GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Plattformübergreifende GUIs mit Open Source .NET unter Verwendung von Eto.Forms

Dies ist einer dieser "Wussten Sie, dass Sie DAS können? „Viele Leute haben herausgefunden, dass C#/F#/.NET plattformübergreifend und Open0source ist und auf praktisch jedem Betriebssystem läuft. Die Leute verwenden es, um Mikrodienste, Websites und WebAPIs überall zu erstellen. Ganz zu schweigen von iPhone/Android Apps mit Xamarin und Videospiele mit Unity und MonoGame.

Aber was ist mit plattformübergreifenden Benutzeroberflächen?

Obwohl es nicht offiziell von Microsoft unterstützt wird, können Sie einige großartige Dinge tun ... so wie Open Source funktionieren soll! Denken Sie daran, dass es jetzt eine Familie von .NET-Laufzeiten gibt, es gibt das .NET Framework für Windows, es gibt xplat .NET Core und es gibt xplat Mono.

Eto.Forms befindet sich seit 2012 in der Entwicklung und ist ein plattformübergreifendes Framework zum Erstellen von GUI-Anwendungen (Graphical User Interface, natch) mit .NET, die mit ihrem nativen Toolkit auf mehreren Plattformen laufen. Nicht wie Java in den 90er Jahren mit individuell bemalten Schaltflächen auf Leinwand.

Es wird für echte Sachen verwendet! Tatsächlich ist PabloDraw ein Ansi/Ascii-Texteditor, von dem Sie nicht wussten, dass Sie ihn in Ihrem Leben brauchen. Aber du tust es. Es läuft auf Windows, Mac und Linux und wurde mit Eto.Forms geschrieben, hat aber auf jeder Plattform eine native Benutzeroberfläche. Schauen Sie sich Curtis Wensleys Twitter-Account an, um einige coole Beispiele dafür zu finden, was PabloDraw und Eto.Forms können!

  • OS X:MonoMac oder Xamarin.Mac (und auch iOS über Xamarin)
  • Linux:GTK# 2 oder 3
  • Windows:Windows Forms (mit GDI oder Direct2D) oder WPF

Hier ist ein Beispiel Hallo Welt. Beachten Sie, dass es nicht nur Code First ist, Sie können auch Xaml oder sogar Json (.jeto) verwenden, um Ihre Formulare zu gestalten!

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());
}
}

Oder ich kann einfach Datei | Neues Projekt mit ihrer Visual Studio-Erweiterung. Probieren Sie es unbedingt aus.

Selbst auf der gleichen Plattform (Windows im Beispiel unten) kann Eto.Forms erstaunlicherweise alle nativen Steuerelemente verwenden, die Sie bevorzugen. Hier ist eine großartige Beispiel-ZIP-Datei mit vorkompilierten Test-Apps.

Sobald Sie eine neue Version von Mono auf Ubuntu installiert haben, können Sie dasselbe Beispiel wie Gtk3 ausführen, wie ich es hier in einer VM mache. ERSTAUNLICH.

Hier sind einige Beispielanwendungen, die in freier Wildbahn sind und Eto.Forms verwenden:

  • MonoGame Pipeline Tool - Inhaltsmanager für MonoGame
  • Manager - Buchhaltungssoftware
  • PabloDraw - Zeichenbasierte Zeichenanwendung
  • JabbR.Desktop - JabbR-Client
  • Notedown - Anwendung zum Erstellen von Notizen
  • Eto.Test - Anwendung zum Testen der Funktionalität jedes Widgets
  • DotImaging.UI - Portable UI-Elemente für DotImaging

Es passieren gerade so viele coole Dinge in Open Source .NET, und Eto.Forms sucht aktiv nach Hilfe. Schauen Sie sich ihr exzellentes Wiki an, lesen Sie die Tutorials und machen Sie vielleicht mit!

Sponsor: Holen Sie sich den neuesten JetBrains Rider zum Debuggen von .NET-Code von Drittanbietern, Smart Step Into, weitere Debugger-Verbesserungen, C# Interactive, den Assistenten für neue Projekte und das Formatieren von Code in Spalten.


Linux
  1. Open-Source-Dateifreigabe mit diesem Linux-Tool

  2. Meine Linux-Geschichte:Sprachbarrieren mit Open Source überwinden

  3. System76 stellt Laptops mit Open-Source-BIOS Coreboot vor

  4. Mailspring – Ein neuer plattformübergreifender Open-Source-E-Mail-Client

  5. Plattformübergreifende Verarbeitung von Dateinamen in .NET Core

Verwalten Sie Ihr Budget unter Linux mit diesem Open-Source-Finanztool

Wie ich Stream Deck unter Linux mit Open-Source-Tools verwende

Aktualisieren Sie Geräte aus der Ferne mit diesem Open-Source-Tool

Probieren Sie Linux auf Ihrem Mac mit Open-Source-Virtualisierung aus

Erstellen Sie ein SDN unter Linux mit Open Source

ZEIT jetzt Bereitstellungen von Open-Source-ASP.NET-Core-Web-Apps mit Docker