このフレームワークは、使用しやすいAPIを使用して、ネイティブツールキットを使用して複数のプラットフォームにまたがるアプリケーションを構築するために使用できます。これにより、単一のUIコードベースを使用して、アプリケーションがすべてのプラットフォームでネイティブアプリケーションとして外観および機能するようになります。
高度なシナリオの場合、一般的なUIをより大きなアプリケーションでラッピングすることで、各プラットフォームの機能を活用したり、プラットフォームごとのカスタム実装で独自のハイレベルコントロールを作成したりすることもできます。
このフレームワークは現在、Windowsフォーム、WPF、Monomac、およびGTK#を越えて機能するデスクトップアプリケーションの作成をサポートしています。作業にはモバイル/iOSポートがありますが、不完全と見なされます。
このフレームワークは、.NETでそれを使用することが自然になるように構築されました。たとえば、単純なハローワールドアプリケーションは次のようになります。
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 ( ) ) ;
}
}または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 () ETO.FORMSを使用してアプリの作成を開始するには、クイックスタートガイドに従ってください。
ETO.FORMSをコンパイルまたは貢献するには、寄稿ガイドをお読みください。
WPF経由のWindows: 
モノマック経由のMac: 
GTK#3経由のLinux: 
| 純粋なeto.forms | Skiasharp Edition | |||
|---|---|---|---|---|
| scottplot | 大規模なデータセットをインタラクティブに簡単に表示できるライブラリをプロットします。 | |||
| LiveCharts | .NETのシンプルで柔軟で強力でオープンソースのデータ視覚化。 | |||
| マイクロチャート | エレガントなクロスプラットフォームのシンプルチャートを作成します。 | |||
| oxyplot | .NET用のクロスプラットフォームプロットライブラリ。 | |||
| Mapsui | AC#アプリのマップコンポーネント。 | |||
| libvlcsharp | ETOアプリにビデオを表示します。 | |||
| eto.opentk | opentkを使用したETO.FORMSのOpenGL ViewPortコントロール。 | |||
| eto.veldrid | Eto.FormsにVeldridグラフィックライブラリを埋め込むためのコントロール。 | |||
| Eto.Codeeditor | ETO.FORMSのコードエディターコントロールを提供するパッケージ。 | |||
| eto.htmlrenderer | HTMLコンテンツを表示するETOコントロールを提供します。 | |||
| eto.rainbowloading | Androidロードインジケーターを示すコントロール。 | |||
| eto.gifimageview | GIFを表示するためのコントロール。 | |||
| eto.skiadraw | ETOでのSkiasharpの使用を可能にするコントロール。 | |||
| eto.containers | いくつかの追加のeto.Formsコンテナコントロール。 |
注:一部のパッケージはパイプラインにありますが、次のリリースが作成されるまで表示されません。
プロジェクトは、ETO.DLLを参照し、ターゲットにしたい対応するプラットフォームアセンブリを含める必要があります。 Macプラットフォームで実行するには、アプリをバンドルする必要があります。
これらのプラットフォームは現在、不完全または開発中です。喜んで助けてくれる熱心な体は、お気軽にそうしてください!