How It Works
With Uno Platform, you can empower your existing .NET teams to build pixel-perfect, single-codebase, multi-platform web, mobile and desktop apps.
High Level Architecture
On iOS, Android and macOS, the Uno Platform relies on the current Xamarin Native stack (not Xamarin.Forms), which will be a part of the future .NET 5 / .NET 6.
On WebAssembly, the Uno Platform relies directly on the Mono-WASM runtime, a part of.NET 5.
On Linux, Uno Platform relies on Skia to draw the UI on canvas.
In the end, Uno Platform provides you with the ability to run single codebase, C# and XAML apps on all these platforms.
WinUI and Uno Platform - Better Together
Uno Platform acts a bridge for WinUI and UWP apps to run natively on iOS, macOS, Android, Linux and WebAssembly.
You can run your C# and XAML source code unmodified and compile it on a different platform yet have it behave the same at runtime.
In turn, you as a developer automatically benefit from decades of Windows ecosystem investment in responsive design, security, accessibility and more.
WinUI is the future of building applications for Windows and is a successor to great technologies such as WinForms, WPF and UWP. The Windows developer ecosystem has a great ecosystem of 1st and 3rd party components and is familiar to hundreds of thousands of C# and XAML developers who want to leverage that exact same skillset to build not only future Windows applications but also apps for iOS, Android, macOS, Web and Linux.
In our opinion, there's no point on trying to reinvent the wheel either from UI framework point of view, or from ecosystem components view which is why we chose to extend WinUI(and UWP) built applications to mobile, non-Windows desktops and the Web.
Native Performance on iOS, macOS and Android
Uno Platform-based applications on iOS, Android and macOS have exact same, native, performance as any other Xamarin-based application.
No Dependency on Xamarin.Forms
Uno Platform and Xamarin.Forms are similar as they both use the underlying Xamarin “Classic” as runtime engine. However, Uno Platform does not build on top of Xamarin.Forms, which is a common misconception about Uno Platform.
When we say that Uno Platform builds top of Xamarin, we mean the ‘initial’ Xamarin runtime (Xamarin.iOS, Xamarin.Android , Xamarin.macOS to support iOS, Android and macOS platforms respectively) or what is commonly referred to Xamarin Native or Xamarin Classic.
While Uno Platfom is different from Xamarin.Forms, Uno Platform renderers for Xamarin.Forms can also just extend Xamarin. Forms apps to Web. See more.
Uno Web Applications in all Browsers via WebAssembly
For Web Apps your application is built using your choice of Visual Studio or Visual Studio Code.
The application is then transformed into a static website though the Uno Web Boostrapper, which uses
mono-wasm to run the C# code in the browser.
Uno Platform is one of the pioneers of WebAssembly (WASM) users in traditional Microsoft ecosystem, being the first to market to enable Ahead-of-Time (AOT) and porting many traditional Windows-based apps and developer productivity tools to the Web.
Deploying Uno Platform-built Applications
For iOS, macOS and Android, your apps can be deployed like any regular app, through the Apple App Store and Google Play Store. You can also deploy Uno Platform built apps as PWAs.
For WebAssembly, it can be deployed using GitHub Pages, Azure Web Apps, Azure Static Web Sites, or any other static website hosting provider and CDNs.
Responsive design is a must-have for any UI framework. With UNO Platform you get out-of-the-box support for: Visual State Manager, State Triggers, Adaptive Triggers and more, allowing you to develop responsive applications quickly.
You can use Uno Platform to take advantage of SkiaSharp-enabled fast drawing times, high performance, visual layouts and you will be able to create any element or animation you need, without platform-specific UI restrictions. SkiaSharp for Mobile and SkiaSharp.Extended for WebAssembly are fully supported. Read more at Rendering Page.