This framework is built so that you can target multiple platforms with one set of UI code.
The goal of this framework is NOT to expose all functionality of each platform, but to expose the common set to build functional applications that can be run on all platforms.
A great use of this is to build smaller portions of the UI that is needed from core libraries such as plugins, etc, and to use the platform-specific UI to wrap around that.
This library will suffer from "Lowest Common Denominator" and is no replacement for each platform's framework. Ideally, one would create the user interface for each platform to take full advantage of its capabilities, but may take much more time to create than to use this framework for portions of your app.
Note that it is planned to have some different controls for Mobile platforms vs. Desktop.
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() {
Title = "My Cross-Platform App";
Size = new Size(200, 200);
var label = new Label{
Text = "Hello World!"
};
this.AddDockedControl(label);
}
public static void Main() {
// run application!
var app = new Application();
app.Initialized += delegate {
app.MainForm = new MyForm();
};
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
- Mac OS X using MonoMac
- Linux using GTK#
- Windows using Windows Forms
- iOS using MonoTouch
- Android using Mono for Android (or equivalent)
These were built a LONG time ago with an older version of the core framework, and would need substantial updates to get working again.
- Web using ASP.NET
- WXWidgets