June 26, 2022
  • June 26, 2022

Put Windows apps on the web with Uno

By on May 28, 2019 0

There’s a lot of focus on WebAssembly right now, as an alternative to JavaScript and as a way to provide more complex and powerful user experiences in Progressive Web Applications and inside cross-platform JavaScript hosting frameworks like than Electron. But there is one place where it falls: there is little room to provide desktop-like user interfaces.

Microsoft’s experimental Blazor is an option, though it works with built-in Razor C# and ASP.Net Web Controls, making it difficult to run the same code everywhere. Looking at WebAssembly and .Net, I discovered another approach, based on Microsoft’s open source tools and targeting the web not only with familiar Windows development tools, but also with familiar working methods.

Introducing Uno: Universal Windows Platform in the browser

Uno is an intriguing alternative to using Xamarin for cross-platform app development. Like Xamarin, it’s a way to use C# and XAML to render controls on any device. Unlike Xamarin, it doesn’t rely on reimplementing Windows controls in its own XAML, either to use native functionality or to render a set of mobile forms that still need to provide a separate Windows UI. Instead, it takes familiar UWP controls and passes them to a browser via WebAssembly.