Uno - a specialist in cross-platform application development for .NET - has previewed Hot Design, a visual design tool, as part of a suite called Uno Platform Studio.
The name Hot Design is a play on the term hot reload. Hot reload describes tools where editing the code makes immediate changes in a running application, without needing to stop debugging and recompile. Hot Design goes in the opposite direction: the running application becomes a design interface, with changes generated back to the XAML, where XAML is the XML-based presentation language that defines the user interface. The design tools appear automatically when the application is being debugged. Hot Design will work even on remote devices such as smartphones or emulators.
Supported IDEs for Hot Design are Visual Studio, Visual Studio Code, and JetBrains Rider.
Hot Design is complementary to Uno's existing Figma plugin, which allows export of designs made in the Figma online design tool. The idea is that designers will continue to use Figma, while developers are more likely to use Hot Design. It is also likely that Hot Design will be a paid add-on - like the Figma plugin, which currently requires a subscription starting at $9.00 per month per developer - whereas the core Uno Platform is free and open source under the Apache 2.0 licence.
"One of the major blockers to WinUI was the lack of a designer," Uno CMO Sasha Krsmanovic told us. "What we're providing is going to be a designer for any platform including WinUI."
CEO Francois Tanguay described it to us as "a cross-platform visual code editor on IDEs on all operating systems targeting all platforms."
The Uno platform targets Windows 7 and higher, iOS, Android, web via WebAssembly, Linux and Mac. The way Uno works varies according to the target platform. On Windows it uses WinUI, Microsoft's official modern desktop framework. Uno can support either the older WinUI 2, based on the Universal Windows Platform (UWP), or the later WinUI 3 which is decoupled from Windows and part of the Windows App SDK.
On the other platforms which Uno supports, the WinUI API is implemented as far as possible. Mac desktop targets Mac Catalyst, designed by Apple as a way to run iPad applications on the desktop. The compiled app, though, can be native to the platform. "On Windows it's WinUI, on iOS it's the iOS native UI Kit," Tanguay told us. "On Android it's the native Android views."
As an alternative, there is a Skia-based approach, using that open source 2D graphics library to render the application user interface. This is necessary on Linux, but can be used on other desktop platforms.
There is good evidence that lack of a visual designer has held back WinUI. In a Microsoft survey earlier this year the need for a designer dominated the discussion, and the net satisfaction with WinUI scored just 50 out of 200.
It is arguable that although plenty of Microsoft-platform developers - familiar with Visual Basic, Windows Forms, and Windows Presentation Foundation (WPF) - yearn for a WinUI designer, it is not so high on the list for developers coming to .NET from other platforms. Visual designers are problematic in many ways, especially with responsive designs that morph according to the size and shape of the application at runtime.
Another potential issue for Uno is that Microsoft is currently giving mixed signals about the best way to develop desktop applications. Choices include WinUI, MAUI for cross-platform, and revived interest in WPF.
We asked Tanguay if Microsoft's constant changes of direction were a problem. He claimed that the software megalith is still focused primarily on WinUI. "They do still believe that WinUI is their modern way to go," he told us. "We're aligned with WinUI ... we don't see any issues there."