- Join the forums
- Chat in #eto.forms on irc.gimp.org
This framework is built so that you can target multiple platforms with one UI codebase.
The overall goal of this framework is to expose a common API that can be used to build functional applications that run across platforms using their native toolkit. This will make your applications look and work as if it were a native application on all platforms.
For advanced scenarios, you can take advantage of each platform's capabilities by wrapping your common UI in a larger application, or even create your own high-level controls with a custom implementations per platform.
This framework currently supports creating Desktop applications that work across Windows Forms, WPF, MonoMac, and GTK#. There is a Mobile/iOS port in the works, but is considered incomplete.
This framework was built so that using it in .NET is natural. For example, a simple hello-world application might look like:
public class MyForm : Form
{
public MyForm ()
{
Text = "My Cross-Platform App";
Size = new Size (200, 200);
var label = new Label { Text = "Hello World!" };
this.AddDockedControl (label);
}
[STAThread]
static void Main () {
var app = new Application();
app.Initialized += delegate {
app.MainForm = new MyForm ();
app.MainForm.Show ();
};
app.Run ();
}
}
- PabloDraw - Character based drawing application
- Notedown by Mod Monkeys - Note taking application
- Eto.Test - Application to test the functionality of each widget
- Eto.Forms - User interface
- Eto.Drawing - Drawing/graphical routines
- Eto.IO - Disk/Virtual directory abstraction
- Eto.Platform.[Platform] - platform implementations
- OS X: MonoMac (Cocoa)
- Linux: GTK#
- Windows: Windows Forms or WPF
- iOS using MonoTouch
- Android using Mono for Android (or equivalent)