Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Uno Platform 5.1 Release: Live Wizard, New UI Controls and Performance Improvements

Uno Platform 5.1 Release: Live Wizard, New UI Controls and Performance Improvements

Uno Platform released version 5.1, with the addition of a Solution Template Wizard for non-Visual Studio users. This highly requested feature has been extended to JetBrains Rider and VS Code users through the new LIVE Wizard version, which should simplify project setup steps. In addition to this, this release includes Uno.Sdk for a 50% smaller csproj footprint, three new controls and notable performance enhancements.

Another notable addition is the introduction of the MSBuild Uno.Sdk, as reported this results in a 50% reduction in the csproj file size for Uno Platform projects. This optimization involves a restructuring of the project template to simplify its contents. The MSBuild Uno.Sdk enables the centralization of features, allowing for easier recognition by Visual Studio.

The blog post states that existing Uno Platform projects can maintain their current structure or opt for the new Uno.Sdk structure, as outlined in the documentation. Uno.Sdk introduces MSBuild Sdk versioning through global.json for specifying core packages across the entire solution.

The $(UnoVersion) MSBuild property improves package management during Uno Platform version upgrades, along with notable changes like removing default values and automatic inclusion of default items in library projects.

(Csproj Side-by-side comparison, Source: Official announcement blog post)

Performance improvements were also a part of this release, as reported with a 15% reduction in memory usage within the DependencyObject subsystem. Specialized memory pooling and sparse collections contribute to individual control memory reduction, minimising overall allocations and alleviating Garbage Collection pressure.

Regarding the controls, a new addition to Uno Platform's control set is the TimePicker, with a note that is available across all platforms. Uno Platform team states that TimePicker control is designed to handle more complex challenges such as time formatting differences, time zones, and 12/24-hour periods, also it is stated that developers who prefer native pickers on iOS and Android still have that option.

The Uno Toolkit library sees updates introducing the ResponsiveView control and the Responsive markup extension. The ResponsiveView control enables the display of different content templates based on screen size, adapting seamlessly to various devices. The Responsive markup extension, on the other hand, provides finer control over UIElement properties, allowing customization based on screen size for a dynamic and responsive user interface experience.

Furthermore, Uno.Extensions experience changes aligning with updates in both Microsoft.Extensions and .NET MAUI. Support for .NET 7 has been discontinued, with the integration code for .NET MAUI refactored to capitalize on improvements in embedding support.

Accordingly, the dotnet new template for Uno Platform applications and the Uno Platform Template Wizard within Visual Studio has been updated to exclude the .NET 7.0 option. Existing applications targeting .NET 7.0 and utilizing Uno.Extensions packages are advised to migrate to .NET 8.0 before updating to the latest Uno.Extensions release. 

Other release changes are related to Font Fallback support for Skia targets, along with features like ComboBox.IsTextSearchEnabled for keyboard searching. StandardUICommand is now supported, and TextBlock supports for IsTextTrimmed and IsTextTrimmedChanged is added.

Lastly, developers interested in learning more about the Uno Platform can visit the official website for very detailed documentation which contains how-tos and tutorials about the platform, alongside with official GitHub repository and a more detailed release note is available at the release changelog.

About the Author

Rate this Article