GNU/Linux >> Znalost Linux >  >> Linux

Multiplatformní GUI s open source .NET pomocí Eto.Forms

Toto je jeden z "Věděli jste, že TO dokážete? "Mnoho lidí přišlo na to, že C#/F#/.NET je multiplatformní a open0source a běží v podstatě na jakémkoli operačním systému. Lidé jej používají k vytváření mikro služeb, webových stránek a webAPI je všude kolem. Nemluvě o iPhone/Android aplikace s Xamarin a videohry s Unity a MonoGame.

Ale co uživatelská rozhraní pro různé platformy?

I když to není oficiálně podporováno společností Microsoft, můžete dělat úžasné věci...tak jak má fungovat Open Source! Pamatujte, že nyní existuje rodina .NET Runtimes, je zde .NET Framework pro Windows, je zde xplat .NET Core a je zde xplat Mono.

Eto.Forms se vyvíjí od roku 2012 a je to multiplatformní framework pro vytváření GUI (Graphical User Interface, natch) aplikací s .NET, které běží na více platformách pomocí jejich nativní sady nástrojů. Ne jako Java v 90. letech se zakázkově malovanými tlačítky na plátně.

Používá se na skutečné věci! PabloDraw je ve skutečnosti textový editor Ansi/Ascii, o kterém jste nevěděli, že jej ve svém životě potřebujete. Ale vy ano. Běží na Windows, Mac a Linux a byl napsán pomocí Eto.Forms, ale na každé platformě má nativní uživatelské rozhraní. Nezapomeňte se podívat na Twitter účet Curtise Wensleyho, kde najdete několik skvělých příkladů toho, co PabloDraw a Eto.Forms umí!

  • OS X:MonoMac nebo Xamarin.Mac (a také iOS přes Xamarin)
  • Linux:GTK# 2 nebo 3
  • Windows:Windows Forms (pomocí GDI nebo Direct2D) nebo WPF

Zde je příklad Hello World. Všimněte si, že to není jen Code First, můžete také použít Xaml nebo dokonce Json (.jeto) k rozložení formulářů!

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

Nebo můžu jen Soubor | Nový projekt s jejich rozšířením Visual Studio. Určitě byste to měli vyzkoušet.

Dokonce i na stejné platformě (v příkladu níže Windows) může Eto.Forms úžasně používat jakékoli nativní ovládací prvky, které preferujete. Zde je skvělý příklad zipu, který má předkompilované testovací aplikace.

Jakmile nainstalujete novou verzi Mono na Ubuntu, můžete spustit stejný vzorek jako Gtk3, jako to dělám zde ve virtuálním počítači. ÚŽASNÉ.

Zde je několik příkladů aplikací, které jsou ve volné přírodě pomocí Eto.Forms:

  • Nástroj MonoGame Pipeline – správce obsahu pro MonoGame
  • Manažer – Účetní software
  • PabloDraw – aplikace pro kreslení podle znaků
  • JabbR.Desktop – klient JabbR
  • Poznámkový záznam – Aplikace pro psaní poznámek
  • Eto.Test – Aplikace pro testování funkčnosti každého widgetu
  • DotImaging.UI – Přenosné prvky uživatelského rozhraní pro DotImaging

V open source .NET se právě teď děje tolik skvělých věcí a Eto.Forms aktivně hledá pomoc. Podívejte se na jejich skvělou Wiki, přečtěte si návody a možná se zapojte!

Sponzor: Získejte nejnovější JetBrains Rider pro ladění kódu .NET třetích stran, Smart Step Into, další vylepšení debuggeru, C# Interactive, nového průvodce projektu a formátování kódu ve sloupcích.


Linux
  1. Sdílení souborů s otevřeným zdrojovým kódem s tímto nástrojem Linux

  2. System76 představuje notebooky s open source BIOS coreboot

  3. Veracrypt – Open Source nástroj pro šifrování disku napříč platformami

  1. Můj příběh o Linuxu:překonání jazykových bariér pomocí open source

  2. Zaměstnavatelé zvýšit nábor IT profesionálů s open source dovednostmi

  3. Mailspring – nový open source e-mailový klient pro různé platformy

  1. Open source 3D pixel art s Goxelem

  2. Provádějte forenzní analýzu paměti Linuxu pomocí tohoto nástroje s otevřeným zdrojovým kódem

  3. Zpracování názvů souborů napříč platformami v .NET Core