GNU/Linux >> Linux Esercitazione >  >> Linux

GUI multipiattaforma con .NET open source utilizzando Eto.Forms

Questo è uno di quei "Sapevi che potresti farlo? " Molte persone hanno capito che C#/F#/.NET è multipiattaforma e open0source e funziona praticamente su qualsiasi sistema operativo. Le persone lo usano per creare microservizi, siti Web e webAPI dappertutto. Per non parlare di iPhone/Android app con Xamarin e videogiochi con Unity e MonoGame.

E per quanto riguarda le interfacce utente multipiattaforma?

Anche se non è ufficialmente supportato da Microsoft, puoi fare cose fantastiche... così come dovrebbe funzionare Open Source! Ricorda che ora esiste una famiglia di .NET Runtime, c'è .NET Framework su Windows, c'è xplat .NET Core e c'è xplat Mono.

Eto.Forms è in sviluppo dal 2012 ed è un framework multipiattaforma per la creazione di applicazioni GUI (Graphical User Interface, natch) con .NET che funzionano su più piattaforme utilizzando il loro toolkit nativo. Non come Java negli anni '90 con pulsanti dipinti personalizzati su tela.

Viene usato per cose vere! In effetti, PabloDraw è un editor di testo Ansi/Ascii di cui non sapevi di aver bisogno nella tua vita. Ma lo fai. Funziona su Windows, Mac e Linux ed è stato scritto utilizzando Eto.Forms ma ha un'interfaccia utente nativa su ciascuna piattaforma. Assicurati di controllare l'account Twitter di Curtis Wensley per alcuni fantastici esempi di ciò che PabloDraw ed Eto.Forms possono fare!

  • OS X:MonoMac o Xamarin.Mac (e anche iOS tramite Xamarin)
  • Linux:GTK# 2 o 3
  • Windows:Windows Forms (tramite GDI o Direct2D) o WPF

Ecco un esempio Hello World. Nota che non è solo Code First, puoi anche usare Xaml o anche Json (.jeto) per il layout dei tuoi moduli!

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

Oppure posso solo File | Nuovo progetto con la relativa estensione di Visual Studio. Dovresti assolutamente provarlo.

Anche sulla stessa piattaforma (Windows nell'esempio seguente) sorprendentemente Eto.Forms può utilizzare qualsiasi controllo nativo tu preferisca. Ecco un ottimo esempio di zip con app di test precompilate.

Dopo aver installato una nuova versione di Mono su Ubuntu, puoi eseguire lo stesso esempio di Gtk3, come sto facendo qui in una VM. INCREDIBILE.

Ecco alcuni esempi di applicazioni che sono in natura, utilizzando Eto.Forms:

  • Strumento Pipeline MonoGame - Gestione contenuti per MonoGame
  • Manager - Software di contabilità
  • PabloDraw - Applicazione di disegno basata sui personaggi
  • JabbR.Desktop - Client JabbR
  • Notedown - Applicazione per prendere appunti
  • Eto.Test - Applicazione per testare le funzionalità di ogni widget
  • DotImaging.UI - Elementi dell'interfaccia utente portatili per DotImaging

Ci sono così tante cose interessanti che stanno accadendo in .NET open source in questo momento ed Eto.Forms è attivamente alla ricerca di aiuto. Vai a dare un'occhiata al loro eccellente Wiki, leggi i Tutorial e magari lasciati coinvolgere!

Sponsor: Ottieni l'ultimo JetBrains Rider per il debug di codice .NET di terze parti, Smart Step Into, ulteriori miglioramenti del debugger, C# Interactive, nuova procedura guidata di progetto e formattazione del codice nelle colonne.


Linux
  1. Condivisione di file open source con questo strumento Linux

  2. Esegui analisi forensi sulla memoria di Linux con questo strumento open source

  3. System76 introduce i laptop con coreboot BIOS open source

  4. Datori di lavoro per aumentare l'assunzione di professionisti IT con competenze open source

  5. Mailspring:un nuovo client di posta elettronica multipiattaforma open source

Gestisci il tuo budget su Linux con questo strumento finanziario open source

Come utilizzo Stream Deck su Linux con strumenti open source

Aggiorna i dispositivi da remoto con questo strumento open source

Prova Linux sul tuo Mac con la virtualizzazione open source

Crea un SDN su Linux con open source

ZEIT ora distribuisce le app Web ASP.NET Core open source con Docker