How It Works

With Uno Platform, you can empower your existing .NET teams to build beautiful and performant, single codebase, cross-platform web, mobile and desktop apps.

Architecture

On iOS and Android, the Uno Platform relies extensively on the Xamarin Native stack. On WebAssembly, the Uno Platform relies directly on the Mono-Wasm runtime. In the end, Uno Platform provides you with the ability to run single codebase, C# and XAML apps on all these platforms.

Looks Interesting? Get Started!

The choice is yours. Download our Sample App, check out source code on GitHub or go through our Quick Start tutorial to get all set up.

the architecture of the uno platform
the architecture of the uno platform

Key Feature Highlights

 
Uno
Xamarin Forms
Flutter
React Native
Platforms iOS, Android, UWP, WASM
WebAssembly Yes. All modern browsers
Dev Loop – Edit & Continue Windows-first, XAML Edit & Continue, C# Edit and Continue Hot-reload, time-travel
Dev Loop – Hot Reload XAML Hot-Reload
Cross Platform Controls Full, Control templating, Data templating, Styling, Rich Animations
UWP Code Support MVVM Light, Microsoft XAML Behaviors, MVVM Cross (soon), Reactive UI, Any UWP Project
Responsive Design Visual Stage Manager, State Triggers, Adaptive Triggers
Platform Specific Native Controls & Properties via conditional namespaces
UI Testing Yes. Selenium for Web/WebAssembly. Xamarin.UI Test and AppCenter for Mobile
SkiaSharp Fully Supported - SkiaSharp for Mobile and SkiaSharp.Extended for WebAssembly
Xamarin Forms Uno Platform renderers for Xamarin.Forms help extend Xamarin.Forms apps to Web
Platforms
iOS, Android, UWP, WASM
WebAssembly
Yes. All modern browsers
Dev Loop – Edit & Continue
Windows-first, XAML Edit & Continue, C# Edit and Continue
Hot-reload, time-travel
Dev Loop – Hot Reload
XAML Hot-Reload
Cross Platform Controls
Full, Control templating, Data templating, Styling, Rich Animations
UWP Code Support
MVVM Light, Microsoft XAML Behaviors, MVVM Cross (soon), Reactive UI, Any UWP Project
Responsive Design
Visual Stage Manager, State Triggers, Adaptive Triggers
Platform Specific
Native Controls & Properties via conditional namespaces
UI Testing
Yes. Selenium for Web/WebAssembly. Xamarin.UI Test and AppCenter for Mobile
SkiaSharp
Fully Supported - SkiaSharp for Mobile and SkiaSharp.Extended for WebAssembly
Xamarin Forms
Uno Platform renderers for Xamarin.Forms help extend Xamarin.Forms apps to Web

Looks Interesting? Get Started!

The choice is yours. Download our Sample App, check out source code on GitHub or go through our Quick Start tutorial to get all set up.

Rendering

Uno uses its own pixel-perfect renderers with Composition API-like directives giving you great control over your application UI and ultimately enabling you to develop better user experience.

By default, Uno uses UWP/WinUI platform 2D directives to draw most of the UI. For example, a button will use UWP-style to draw the same look-and-feel button on mobile and web platforms you target. However, Uno will give you as a developer an option to use a native button as well.

Our approach is similar to Skia to provide pixel perfect rendering, but it uses native drawing directives with an option to fallback to native controls if desired. The input controls are native to device, such as iOS’s UIButton or Android’s Button, so the users get the behaviours they care about including accessibility, copy/paste etc. Here’s an example of such a native style.

Uno-04-1

Uno Platform on .NET Rocks!

What better way to understand Uno Platform than to listen to the famous .NET Rocks! Podcast. As an added bonus – you get to hear the full story of how Uno Platform came about as Richard Campbell and Carl Franklin interview the creators of Uno Platform.

Listen Now

.NET Rocks

Frequently Asked Questions

Of course we piqued your interest – and now you have questions. Head over to the FAQ or reach out to us on Twitter.