👋 Welcome

Welcome

Welcome to Avalonia - the best open source, easy to learn, .NET C# multiplatform package for desktop GUI development (Windows, Mac and Linux).

If you're familiar with WPF or UWP then you should feel right at home with Avalonia. Although Avalonia is not API compatible with either of these frameworks (and so controls can't be used without porting), there's a lot of similarity. If you're a WPF user we have a page which describes the main differences between WPF and Avalonia.

Why Choose Avalonia?

  • Avalonia allows creating applications that look and behave the same on most popular Desktop platforms (Windows, Mac, various flavors of Linux) while also allowing platform specific customizations.
  • Avalonia can be used with your favourite Model-View frameworks.
  • Avalonia is supported by the following companies:

and many other smaller companies.

  • Avalonia (just like WPF and Silverlight) is fully compositional: you can create a button out of Avalonia primitives in a fashion similar to creating a complex page, while its competitors packages (Web, Xamarin and Java) are not compositional to the same degree.

  • Avalonia UI, unlike JavaScript has full advantage of a strongly typed language. Also Avalonia has full advantage of a compiled-to-binary code language.

  • Avalonia is an open source multiplatform descendant of great Microsoft packages (WPF and Silverlight) which brought the UI development on a completely new level, creating a set of new concepts which allow to create a full blown UI application in a fraction of the time and effort compared to other technologies. Here is the list of some of the concepts:

    • Visual and Logical Trees
    • Attached or Dependency Properties which can be defined outside of the object on which they are used and do not take any extra memory unless they are assigned a non-default value and have a special event to fire when their values change.
    • Attached Routed Events that can be defined outside of the objects that fire them and can propagate and be handled up and down on the trees.
    • Bindings and the related MVVM pattern
    • Control Templates
    • Data Templates
    • Styles
    • Behaviors provide way to modify and augment the behavior of a C# class without modifying the class itself by using the events.

    All these paradigms have been implemented for multiple platforms in Avalonia.

Supported .NET Version

Avalonia is supported on all platforms that support .NET Standard 2.0

Supported Platforms

Avalonia is supported on the following platforms:

  • Windows 8 and higher
    • Note: Avalonia works correctly on Windows 7 also, but not supported officially
  • MacOS High Sierra 10.13 and higher
  • for Linux:
    • Debian 9 (Stretch) and higher
    • Ubuntu 16.5 and higher
    • Fedora 30 and higher

Supported Development Environments

The following environments support Avalonia XAML with IntelliSense:

  • Visual Studio 2017 and higher (with or without Resharper 2020.3). Avalonia Visual Designer is also supported.
  • JetBrains Rider 2020.3 and higher.

Installing Avalonia Extension for Visual Studio

JetBrains Rider Setup