If you're a .NET developer who has ever stared longingly at the polished interfaces of Ant Design and wished you could ship something similar from a single C# codebase across Windows, macOS, Linux, mobile, and the web, this post is for you. Two projects make that dream surprisingly realistic in 2026: Avalonia, the cross-platform .NET UI framework, and AtomUI, a faithful Avalonia implementation of the Ant Design system.
What is Avalonia?
Avalonia is an MIT-licensed, cross-platform .NET UI framework that uses XAML for layout, C# for logic, and MVVM as its preferred architecture pattern. If your team builds with WPF, WinUI, or WinForms today, the mental model carries over almost one-to-one. The big difference is that Avalonia doesn't wrap native controls. Instead, it renders its own UI through Skia (with Google's Impeller backend on the way), so the output is pixel-identical on every platform it targets: Windows, macOS, Linux, iOS, Android, and WebAssembly.
The project has matured significantly. It currently sits around 30k stars on GitHub, ships with more than 70 free controls, and is used in production by teams at organisations like JetBrains, Autodesk, Unity, and even NASA. The recent 12.0 release focused heavily on rendering performance, claiming up to an 1,867% FPS improvement on complex visual trees thanks to deferred composition and smarter dirty-rect tracking. For .NET teams looking to consolidate a fragmented WPF / WinForms / Xamarin codebase, it's become the most credible single-codebase story available.
What is AtomUI?
Avalonia gives you a strong foundation, but its default controls are intentionally neutral. That's where AtomUI comes in. AtomUI is an open-source library that re-implements the Ant Design system on top of Avalonia, bringing the recognisable visual language, motion patterns, and component vocabulary of Ant Design directly into native .NET desktop applications.
Under the hood it provides a complete theme system, token system, icon infrastructure (including the Ant Design icon set), and a generous set of desktop controls including DataGrid and ColorPicker as opt-in packages. It builds on Avalonia's own styling system, so theme customization, dark mode, and design tokens behave the way Ant Design users already expect. AtomUI is distributed under LGPL v3, with a commercial license available for teams that need to modify source code or embed it deeply into proprietary products.
Why combine them?
Avalonia answers the question “how do I ship one .NET UI everywhere?” AtomUI answers “how do I make that UI look great and feel coherent without designing a system from scratch?” Together they give a small team something close to a turnkey enterprise stack: a familiar XAML/C#/MVVM workflow, a battle-tested cross-platform renderer, and a design language with years of iteration behind it.
Getting started
The setup is refreshingly conventional. First, install the Avalonia templates and create a project:
dotnet new install Avalonia.Templates
dotnet new avalonia.app -o MyApp
cd MyApp
dotnet run
Then add the AtomUI packages. The main package is AtomUI.Desktop.Controls, with optional packages for DataGrid and ColorPicker:
dotnet add package AtomUI.Desktop.Controls
dotnet add package AtomUI.Desktop.Controls.DataGrid
dotnet add package AtomUI.Desktop.Controls.ColorPicker
In Program.cs, enable AtomUI's default options on the AppBuilder:
public static AppBuilder BuildAvaloniaApp() =>
AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithAtomUIDefaultOptions()
.UseReactiveUI()
.LogToTrace();
Then opt into the pieces you need inside your App class:
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
this.UseAtomUI(builder =>
{
builder.WithDefaultCultureInfo(CultureInfo.CurrentUICulture);
builder.WithDefaultTheme(IThemeManager.DEFAULT_THEME_ID);
builder.UseAlibabaSansFont();
builder.UseDesktopControls();
builder.UseDesktopColorPicker(); // optional
builder.UseDesktopDataGrid(); // optional
});
}
Once that's wired up, AtomUI's controls are available under the atom XAML namespace, and Ant Design icons are available through their own provider:
<atom:Window xmlns="https://github.com/avaloniaui"
xmlns:atom="https://atomui.net"
xmlns:antdicons="https://atomui.net/icons/antdesign">
<atom:Space Orientation="Horizontal">
<atom:Button ButtonType="Primary">Get Started</atom:Button>
<atom:Button Icon="{antdicons:AntDesignIconProvider StarOutlined}">
Star on GitHub
</atom:Button>
</atom:Space>
</atom:Window>
When does this stack make sense?
The combination shines for line-of-business desktop tools, admin consoles, internal dashboards, and developer tooling, basically any place where Ant Design feels natural on the web. If you're already a .NET shop, you keep your language, your tooling, and your hiring pool, but gain a coherent design system and true cross-platform reach. If your product needs heavily custom artistic UI (think creative tools or games), the Ant Design aesthetic may be too opinionated, and you might prefer building directly on plain Avalonia.
Final thoughts
It has taken a long time for the .NET ecosystem to get a credible single-codebase desktop story, and even longer for a polished design system to land on top of it. With Avalonia 12 and AtomUI 6 reaching maturity in parallel, that combination is finally here, open source, MIT/LGPL licensed, and ready for production use. If you've been waiting for a moment to revisit cross-platform .NET UI, this is a very good one.
Links: avaloniaui.net · github.com/AtomUI/AtomUI