Skip to content
This repository

Cross platform GUI framework for desktop and mobile applications in .NET

branch: develop


A cross platform desktop and mobile user interface framework



This framework can be used to build applications that run across multiple platforms using their native toolkit, with an easy to use API. This will make your applications look and work as a native application on all platforms, using a single UI codebase.

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);
        Content = new Label { Text = "Hello World!" };

    static void Main () {
        var app = new Application();
        app.Initialized += delegate {
            app.MainForm = new MyForm ();
            app.MainForm.Show ();
        app.Run ();



  • Eto.Forms - User interface
  • Eto.Drawing - Drawing/graphical routines
  • Eto.IO - Disk/Virtual directory abstraction
  • Eto.Platform.[Platform] - platform implementations

Currently supported targets

  • iOS using Xamarin.iOS
  • OS X: MonoMac or Xamarin.Mac
  • Linux: GTK# 2 or 3
  • Windows: Windows Forms (using GDI or Direct2D) or WPF

Under development

  • Android using Xamarin.Android
Something went wrong with that request. Please try again.