Eto
2.8.3
該框架可用於構建使用本機工具包跨多個平台運行的應用程序,並易於使用API。這將使您的應用程序使用單個UI代碼庫在所有平台上的本機應用程序外觀和工作。
對於高級方案,您可以通過將常見的UI包裹在較大的應用程序中來利用每個平台的功能,甚至可以通過每個平台使用自定義實現來創建自己的高級控件。
該框架當前支持創建跨Windows表單,WPF,Monomac和GTK#的桌面應用程序。工作中有一個移動/iOS端口,但被認為是不完整的。
該框架的建立是為了使其在.NET中使用它是自然的。例如,一個簡單的Hello-World應用程序可能看起來像:
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,請閱讀貢獻指南。
Windows通過WPF: 
MAC通過Monomac: 
Linux通過GTK#3: 
| 純eto.forms | Skiasharp版 | |||
|---|---|---|---|---|
| Scottplot | 繪製庫,使其易於交互顯示大型數據集。 | |||
| Livecharts | .NET的簡單,靈活,功能強大和開源數據可視化。 | |||
| 微觀 | 創建優雅的跨平台簡單圖表。 | |||
| Oxyplot | 跨平台繪圖.NET的庫。 | |||
| Mapsui | AC#應用程序的MAP組件。 | |||
| libvlcSharp | 在ETO應用中顯示視頻。 | |||
| eto.opentk | 使用Opentk的ETO.Forms的OpenGL視口控制。 | |||
| eto.veldrid | 將veldrid圖形庫嵌入eto.forms中的控件。 | |||
| eto.codeeditor | 為您提供eto.forms中的代碼編輯器控件的軟件包。 | |||
| eto.htmlrenderer | 提供ETO控件以顯示HTML內容。 | |||
| Eto.Rainbowloading | 一個控件顯示Android加載指示器。 | |||
| eto.gifimageview | 顯示GIF的控件。 | |||
| Eto.skiaDraw | 在ETO中使用Skiasharp的控制。 | |||
| Eto.Containers | 一些額外的ETO.Forms容器控件。 |
注意:某些軟件包在管道中,但直到創建下一個版本才會出現。
您的項目只需要參考eto.dll,並包括您希望定位的相應平台組件。要在Mac平台上運行,您需要捆綁應用程序。
這些平台目前不完整或開發。任何願意幫助隨意這樣做的身體!