How It Works

Avalonia UI enables .NET developers to create pixel-perfect apps for desktop, mobile and web from a single codebase.

Pixel Perfect on
Every Platform

Control precisely how your app looks across every platform without worrying about platform-specific APIs.

Avalonia UI uses Skia to draw the user interface, enabling pixel-perfect apps that make it easy to add some flair and ensure your apps stand out.


Architecture Overview

  • Avalonia UI supports several .NET runtimes, including .NET Framework, Mono and .NET Core.
  • The only prerequisite for supporting new platforms is the ability to draw pixels and receive events, meaning it's easy to add support for new platforms! You can read more about this on our blog.
  • The architecture is modular and has a clean extensible design of the APIs.

Native Performance on Every Platform

Apps built with Avalonia UI offer native performance and consume significantly less resources than an equivalent app developed using Web Technologies like Electron.


No Dependency on .NET MAUI or Xamarin.Forms

Xamarin.Forms and MAUI are abstraction layers that aim to create a standard API between various platforms rather than a fully-fledged UI toolkit like Avalonia UI. While Avalonia UI uses the same underlying technology to enable Avalonia apps to run on iOS and Android, there are no dependencies on Xamarin.Forms or MAUI.

Designed for multi-platform.

The Avalonia UI has been designed for multi-platform development from its inception, with a great deal of effort going into ensuring all the APIs work on all our supported platforms.

While Avalonia UI takes inspiration from WPF and WinUI, the aim has never been to simply copy WPF or WinUI APIs. Instead, Avalonia UI aims to provide a familiar development experience while ensuring we can make improvements that work across all platforms.



Run .NET on Low Powered Embedded Devices

Avalonia has a growing community of developers building for low-powered embedded devices. Applications developed with Avalonia UI running on embedded Linux can be ready to use in as little as 1.5 seconds from the device being powered. This is possible because Avalonia UI can run without the heavy dependencies typically found in desktop Linux distros. Learn more by deploying to a Raspberry Pi.

Rendering with Skia

Avalonia UI uses SkiaSharp, a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. Many apps use Skia to render their UI, including Google Chrome and apps built with Flutter, allowing developers to create highly performant applications with a consistent look.

Although Skia is the default render, Avalonia UI also supports rendering with Direct2D on Windows.