Essa estrutura pode ser usada para criar aplicativos que sejam executados em várias plataformas usando seu kit de ferramentas nativo, com uma API fácil de usar. Isso fará com que seus aplicativos pareçam e funcionarão como um aplicativo nativo em todas as plataformas, usando uma única base de código da interface do usuário.
Para cenários avançados, você pode aproveitar os recursos de cada plataforma, envolvendo sua interface de usuário comum em um aplicativo maior ou até criar seus próprios controles de alto nível com implementações personalizadas por plataforma.
Atualmente, essa estrutura suporta a criação de aplicativos de desktop que funcionam nos formulários do Windows, WPF, Monomac e GTK#. Há uma porta móvel/iOS em andamento, mas é considerada incompleta.
Essa estrutura foi construída para que usá -la no .NET seja natural. Por exemplo, um aplicativo simples de Hello-World pode parecer:
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 em um script F#:
#load " .paket/load/eto.platform.windows.fsx "
// see https://fsprojects.github.io/Paket/paket-generate-load-scripts.html
open Eto. Drawing
open Eto. Forms
type MyForm () as this =
inherit Form ()
do
this.Title <- " My Cross-Platform App "
this.ClientSize <- Size ( 200 , 200 )
this.Content <- new Label ( Text = " Hello F# World! " )
Eto.Platform.Initialize ( Eto.Platforms.WinForms )
let app = new Application ()
let form = new MyForm ()
form.Show () Para começar a criar aplicativos usando o ETO.Forms, siga o guia de início rápido.
Para compilar ou contribuir com o EtO.forms, leia o guia contribuinte.
Windows via WPF: 
Mac via Monomac: 
Linux via GTK#3: 
| EtO.forms puros | Edição SkiaSharp | |||
|---|---|---|---|---|
| Scottplot | A plotagem da biblioteca que facilita a exibição interativa de grandes conjuntos de dados. | |||
| LiveCharts | Visualização de dados simples, flexíveis, poderosos e de código aberto para .NET. | |||
| Microcharts | Crie gráficos simples elegantes de plataforma cruzada. | |||
| OxyPlot | Biblioteca de plotagem de plataforma cruzada para .NET. | |||
| Mapsui | Componente do mapa AC# para aplicativos. | |||
| Libvlcsharp | Exiba um vídeo em um aplicativo ETO. | |||
| EtO.OPENTK | Controle de viewport do OpenGL para EtO.forms usando opentk. | |||
| Eto.veldrid | Um controle para incorporar a biblioteca de gráficos Veldrid em EtO.forms. | |||
| ETO.Codeeditor | Um pacote que oferece um controle do editor de código no EtO.forms. | |||
| EtO.htmlRenderer | Fornece um controle ETO para exibir conteúdo HTML. | |||
| Eto.rainbowloading | Um controle mostrando o indicador de carregamento do Android. | |||
| ETO.GIFIMAGEVIEW | Um controle para exibir GIFs. | |||
| Eto.skiadraw | Um controle que permite o uso de skiasharp em EtO. | |||
| EtO.Contaiadores | Alguns controles extras de contêiner ETO.Forms. |
Nota: Alguns pacotes estão em andamento, mas não aparecerão até que a próxima versão seja criada.
Seu projeto só precisa fazer referência ao EtO.dll e incluir a montagem da plataforma correspondente que você deseja segmentar. Para executar em uma plataforma Mac, você precisa agrupar seu aplicativo.
Atualmente, essas plataformas estão incompletas ou em desenvolvimento. Quaisquer corpos ansiosos dispostos a ajudar a se sentir à vontade para fazê -lo!