Last week, Uno Platform released version 4.8 of their framework for building native mobile, desktop, and WebAssembly apps. The latest version comes packed with exciting new features and enhancements, including over 200 fixes and product improvements, as well as support for .NET 8 Preview 2. The highlight of the new release is a new App Template Wizard, OpenGL Acceleration, Design System Package Import, updates for Reactive / MVUX, and many more.
One of the major highlights of the Uno Platform 4.8 version is the new startup experience, which simplifies the process of creating new projects. The new App Template Wizard allows developers to choose between a blank or default template and customize it according to their specific needs. This includes the ability to select their preferred framework, choose the targeted platforms they wish to develop for, and decide whether to use the MVVM or MVUX design pattern. Besides, developers can opt for Unit or UI tests, and select from a range of Uno extensions and themes to further customize their application.
(Source: Uno Platform 4.8 official release blog post)
This release includes multiple in-memory and runtime performance improvements and also introduces OpenGL acceleration for Uno Islands. This feature is particularly useful for WPF modernization scenarios and the official release blog post states the 12x improvement over software rendering. Additionally, TextBlock rendering has been improved for all Skia backends, resulting in a 5x improvement in common scenarios.
As part of its latest release, the Uno Platform team has announced a new and simplified way to initialize both the Uno Toolkit and Material theme resources. Previously, developers working with Uno Material had to initialize multiple theme dictionaries separately in App.xaml
or AppResources.xaml
. However, with the latest release, Uno Platform has made this process significantly simpler by allowing developers to bootstrap Material/Toolkit into their applications with just one line of XAML code. Uno Toolkit now comes bundled with the popular Roboto font. By initializing the MaterialToolkitTheme, developers can now use the Roboto font as the default for all Material-styled Toolkit controls in their applications.
The framework team also took care of community feedback and introduced a new feature that allows developers to import custom Design System Packages (DSPs) into their applications, offering customization options. The new feature will enable developers to use tools such as Material Design Theme Builder to create custom themes to match their brand and import them into their Uno Platform-built applications. The original release post states that there is the intention to bring this feature to its Figma plugin in the near future, providing further integration between its open-source project and productivity tools. The DSP Import tooling is set up automatically and available in the new App Template Wizard when the material theme is enabled.
The 4.8 release also introduces a new tool called Uno Resizetizer, which simplifies image resizing for cross-platform apps built with .NET. The tool uses an existing library created by Jonathan Dick, the .NET MAUI tech lead, and allows developers to use SVG vectors as source assets, automatically resizing them to the necessary resolution at build time. Uno Resizetizer is a useful tool for developers who want to create high-quality apps with minimal effort, generating app icons, splash screen assets, and app images. Uno Platform has developed a version of the Resizetizer library specifically for their platform, which is supported on all platforms they serve. The documentation provides further information on how to get started.
Regarding the Uno Extensions, and most important extensions Reactive MVUX framework now natively supports reordering and multi-selection for the lists managed by it. The ListView.Source
can update the model's list if the user reorders items, and the new Selection() operator allows synchronizing selection into a State instance, including support for multiple selection. Another notable improvement is the addition of ILoadable interface for FeedView via the Uno Toolkit.
From this version, Uno Platform now offers support for .NET 8 Preview 2. While most developers tend to stick to stable .NET 7, the company recognizes that some may want to explore new possibilities, and thus has extended its support to .NET 8 Preview 2. Additionally, Uno Platform states that it is continuously integrating with .NET to ensure compatibility with .NET 8 RTM as soon as it is released. This new version of Uno includes an updated version of Uno.Check
and ensures compatibility with .NET 8 Preview 2.
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.