Uno Platform 5.3 released with full JetBrains Rider support and ‘350 enhancements’

Uno Platform 5.3 released with full JetBrains Rider support and ‘350 enhancements’

The Uno Platform team has released version 5.3 of its cross-platform framework for .NET, with full support for JetBrains Rider for the first time, along with around 350 other enhancements.

The company said that JetBrains Rider support has been a “top request” in developer surveys. It comes in addition to the existing support for Visual Studio and Visual Studio Code, both of which also have Uno plugins.

New features in 5.3 also include the Open Sans default font, available on all target platforms, two new controls, ItemsView and SelectorBar, and improved hot reload support.

ItemsView is a UI (user interface) component that displays collections of items with what is said to be smooth scrolling and efficient virtualization – meaning that items can be loaded dynamically rather than all residing in memory. Only desktop platforms are supported, but adding mobile and browser targets is on the to-do list.

SelectorBar is based on ItemsView and is designed for displaying a set of options in a bar. Only WinUI is supported currently but again wider target compatibility is promised in future.

Uno Platform targets iOS, Android, Web via WebAssembly, Windows 10 and 11 via WinUI, Linux using Skia Desktop Shell, and macOS via Catalyst. Windows 7 can be supported using Skia Desktop, as for Linux. Another option is to use a PWA (Progressive Web App) or Electron, to embed web technology in a desktop application.

The web-based Uno Platform wizard generates a command line which runs locally

We tried Uno Platform with Rider. One of the oddities is that for getting started, developers are directed to a web-based getting started wizard, rather than simply creating a new project in the IDE. The wizard generates a command to create a new application from the command line, starting dotnet new unoapp. This will fail though if the unoapp tool is not installed. 

Fixing this is most easily done with the uno-check tool which, inevitably, will install a bunch of stuff including versions of the dotnet, Android and Uno SDKs. We then successfully ran a project in the iOS simulator though not without an error message warning that Class MicaPlayer was implemented twice. “One of the two will be used. Which one is undefined,” it said. Cross-platform developers may be used to suffering such problems.

Using Rider with Uno Platform

Uno Platform presents itself as a one-stop solution for cross-platform development with .NET, benefiting perhaps from developer dissatisfaction with MAUI (Multi-platform App UI), Microsoft’s official solution. Unlike MAUI, Uno Platform supports Linux and web, though .NET developers may also consider Blazor, which can be wrapped as a desktop application.

It is apparent though that even with Uno Platform, achieving the same experience and features across multiple platforms is challenging. On macOS, many developers would prefer to target AppKit rather than the more constrained Catalyst, which is built for iOS compatibility (MAUI has the same problem).

Another option for .NET developers is Avalonia  UI, which targets Windows and macOS using XAML to define the user interface with a dialect similar to WPF (Windows Presentation Foundation). Microsoft itself appears to be giving WPF more support – a change from 2022 when it was described as a “community run project”.

Overall, few areas of development are more confusing than deciding on the best framework for a GUI .NET application, especially when cross-platform is in the mix. Uno Platform looks a strong choice, but one of many.