ScriptsMay 12, 2026·3 min read

Avalonia — Cross-Platform .NET UI Framework

Build native desktop, mobile, and web applications using .NET and XAML with a single codebase across Windows, macOS, Linux, iOS, Android, and WebAssembly.

Introduction

Avalonia is an open-source cross-platform UI framework for .NET that lets developers build desktop, mobile, and web applications from a single XAML-based codebase. It draws inspiration from WPF and UWP while targeting every major platform including Windows, macOS, Linux, iOS, Android, and WebAssembly.

What Avalonia Does

  • Renders pixel-perfect UI on Windows, macOS, Linux, iOS, Android, and WASM using a custom Skia/Composition rendering engine
  • Provides a rich XAML dialect with data binding, styles, control templates, and an MVVM-friendly architecture
  • Ships a comprehensive control library covering buttons, data grids, tree views, docking panels, and more
  • Supports hot reload during development for rapid UI iteration
  • Offers accessibility support with screen reader compatibility across platforms

Architecture Overview

Avalonia uses a platform-agnostic rendering pipeline built on top of Skia and a custom composition engine. The framework abstracts window management, input handling, and GPU compositing per platform while keeping the XAML layout engine, styling system, and data-binding runtime entirely shared. This means UI logic, templates, and converters run identically regardless of the target OS.

Self-Hosting & Configuration

  • Install via dotnet new install Avalonia.Templates and scaffold with dotnet new avalonia.app
  • Configure platform targets in the .csproj file; desktop is default, add mobile/browser workloads as needed
  • Customize theming through Styles in App.axaml using Fluent or Simple built-in themes
  • Integrate with dependency injection frameworks like Microsoft.Extensions.DependencyInjection
  • Publish self-contained or framework-dependent binaries using standard dotnet publish commands

Key Features

  • True single-codebase UI: one XAML dialect runs on six platforms without per-platform branching
  • Composition renderer delivers smooth 60fps animations and GPU-accelerated drawing
  • Mature DevTools inspector (F12 at runtime) for live visual tree debugging
  • Reactive extensions integration via Avalonia.ReactiveUI for advanced state management
  • Active ecosystem with community controls, IDE plugins for Visual Studio and Rider, and XAML previewer support

Comparison with Similar Tools

  • WPF — Windows-only; Avalonia brings a similar XAML experience to every OS
  • MAUI — Microsoft's official cross-platform framework but limited Linux and WASM support; Avalonia covers both
  • Electron — Uses web tech in a Chromium shell with higher memory overhead; Avalonia is native .NET
  • Flutter — Dart-based with its own widget set; Avalonia targets .NET developers who prefer C# and XAML
  • Uno Platform — Also .NET-based and multi-platform; Avalonia has a more WPF-like API and custom renderer

FAQ

Q: Does Avalonia require a commercial license? A: No. Avalonia is MIT-licensed and free for both personal and commercial use. Avalonia XPF (a compatibility layer for WPF apps) is a separate commercial product.

Q: Can I use existing WPF controls and libraries? A: Avalonia XAML is inspired by WPF but is not binary-compatible. Controls need porting, though the API surface is deliberately similar to ease migration.

Q: What IDEs support Avalonia development? A: JetBrains Rider and Visual Studio both have Avalonia extensions with XAML previewer, code completion, and hot reload support.

Q: How mature is mobile support? A: iOS and Android support is available and improving rapidly. Desktop (Windows, macOS, Linux) is the most mature target.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets