# 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. ## Install Save as a script file and run: # Avalonia — Cross-Platform .NET UI Framework ## Quick Use ```bash dotnet new install Avalonia.Templates dotnet new avalonia.app -n MyApp cd MyApp && dotnet run ``` ## 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 - https://github.com/AvaloniaUI/Avalonia - https://avaloniaui.net/docs --- Source: https://tokrepo.com/en/workflows/asset-be759ed3 Author: Script Depot