ConfigsMay 12, 2026·3 min read

Uno Platform — Pixel-Perfect Multi-Platform Apps with .NET

Build native mobile, desktop, and web applications from a single C# and XAML codebase targeting Windows, iOS, Android, macOS, Linux, and WebAssembly with pixel-perfect fidelity.

Introduction

Uno Platform is an open-source framework that extends the WinUI and WinAppSDK APIs to run on iOS, Android, macOS, Linux, and WebAssembly. Developers write C# and XAML once and deploy pixel-perfect applications to every major platform while preserving access to native platform APIs when needed.

What Uno Platform Does

  • Implements the WinUI 3 / WinAppSDK API surface on non-Windows platforms for true code sharing
  • Renders UI via Skia on most targets, ensuring pixel-perfect consistency across operating systems
  • Supports WebAssembly output so the same app runs in a browser without plugins
  • Provides access to native platform APIs through conditional compilation and platform-specific code paths
  • Integrates with the standard .NET build chain, NuGet, and Visual Studio / Rider tooling

Architecture Overview

Uno Platform implements the UWP/WinUI XAML stack on top of platform-specific renderers. On Windows it delegates to the native WinUI runtime. On other platforms it uses a Skia-based rendering backend that draws the full XAML visual tree to a GPU canvas, producing identical output everywhere. The framework maps XAML controls to the same layout engine and data-binding runtime regardless of target, and exposes platform interop through partial classes and conditional compilation.

Self-Hosting & Configuration

  • Install templates with dotnet new install Uno.Templates and scaffold using dotnet new unoapp
  • Select target platforms during project creation: Desktop, Mobile, Web, or all
  • Configure platform heads in the solution: each target has a thin project referencing the shared UI library
  • Set up iOS and Android builds through .NET MAUI workloads or Xcode/Android SDK directly
  • Customize themes via WinUI resource dictionaries and Uno's Fluent/Material/Cupertino theme packages

Key Features

  • WinUI API compatibility: existing WinUI knowledge and controls transfer directly
  • Hot Reload support for XAML and C# changes across all platforms during development
  • Skia renderer ensures the UI looks identical on every OS, eliminating per-platform visual bugs
  • Figma-to-XAML plugin for converting design files directly into Uno Platform views
  • C# Markup extensions available as an alternative to XAML for code-first UI definition

Comparison with Similar Tools

  • WinUI / WinAppSDK — Windows-only; Uno extends the same API to six additional platforms
  • MAUI — Microsoft's cross-platform framework with native renderers; Uno uses Skia for pixel-perfect consistency
  • Avalonia — WPF-inspired cross-platform XAML; Uno follows the WinUI API surface specifically
  • Flutter — Dart-based with custom rendering; Uno targets C#/.NET developers and the Windows ecosystem
  • React Native — JS bridge to native views; Uno compiles to native .NET code with no bridge overhead

FAQ

Q: Can I use existing WinUI or UWP libraries with Uno? A: Many WinUI libraries work directly. Uno maintains API parity for the most common controls and APIs; check the compatibility matrix for specifics.

Q: Is the WebAssembly target production-ready? A: Yes. Uno's WASM target ships .NET AOT-compiled applications that run in any modern browser with good performance.

Q: How does Uno handle platform-specific features like notifications or biometrics? A: Use conditional compilation (#if __IOS__, #if __ANDROID__) or Uno's platform-specific extension APIs to access native functionality.

Q: What is the licensing model? A: Uno Platform is Apache 2.0 licensed and free for all use. Commercial support plans are available optionally.

Sources

Discussion

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

Related Assets