The open source user interface framework for cross-platform C# and XAML applications, Uno, has been updated to version 4.7. It brings a simplified solution in Visual Studio, cross-platform performance updates, and other minor updates.

The Uno platform is an alternative UI platform for building multi-device applications in C# and XAML. It is being released in 2018 after years of internal use by Canadian company nventive. It allows developers to write apps for Windows, iOS, Android, WebAssembly, macOS and Linux. It is published under the Apache 2.0 open source license on GitHub, Infoq wrote on the topic.

While the official cross-platform UI libraries from Microsoft, Xamarin and .NET MAUI, aim to use native controls for each supported platform, Uno takes a mixed approach. It uses basic UI primitives to render the same chromeless UI everywhere, while using the cross-platform 2D graphics library Skia to paint the same UI style across all platforms.

Internally, it uses the WinUI 3 API for Windows and replicates the same API surface for all supported platforms, as seen by the pixel-perfect port of the Windows Calculator app. For .NET developers, this means they need to start designing and implementing the WinUI app first, and Uno will take care of rendering and running it on all supported platforms.

The Linux targets now use native .NET compile-before-execution (AOT), with faster startup and improved performance by omitting the use of .NET’s just-in-time (JIT) feature. Android performance has been improved by moving parts of the cross-platform code instructions entirely to the Java side of the solution.

Updating Uno solutions to version 4.7 includes updating the core NuGet packages. The new solutions will use the shared library approach for the Visual Studio solution, while the existing solutions will retain the shared project approach.

According to .NET developer discussions on social networks, the main advantage of the Uno platform over MAUI or Xamarin is that it is the only cross-platform .NET framework that supports writing WebAssembly and Linux applications in C# and XAML.

Tags: , , , , , , , , , , , , , , , , , , ,
Editor @ DevStyleR