Put Windows apps on the web with Uno


There’s a lot of focus on at the moment, as an alternative to JavaScript and as a way of delivering more-complex, more-powerful user experiences in progressive web applications and inside cross-platform JavaScript-hosting frameworks such as Electron. But there’s one place it falls down: There’s little scope for delivering desktop-like user interfaces.

Microsoft’s experimental Blazor is one option, although it works with embedded Razor C# and ASP.Net’s web controls, making it hard to have the same code running everywhere. In looking at WebAssembly and .Net I came across another approach, building on Microsoft’s open source tools and targeting the web with not only familiar Windows development tools but also familiar ways of working.

Introducing Uno: Universal Windows Platform in the browser

. Like Xamarin it’s a way of using C# and XAML to render controls on any device. Unlike Xamarin it doesn’t rely on reimplementing Windows controls in its own XAML, to either use native features or to render a set of mobile-first forms that still require delivering a separate Windows UI. Instead it takes familiar UWP controls and delivers them to a browser via WebAssembly.