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.
On iOS, Android and macOS, 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!
Key Feature Highlights
|Platforms||iOS, Android, WinUI/UWP, WASM, macOS|
|WebAssembly||Yes. All modern browsers|
|Dev Loop – Edit & Continue||Windows-first, XAML Edit & Continue, C# Edit and Continue. Partial - 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 State 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|
|IDE Support||Visual Studio (all target platforms), Visual Studio Code (WebAssembly target only)|
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 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.