Whilst Microsoft’s mobile offering is well and truly dead, their push to provide platform agnostic solutions for developers is alive and well. Xamarin.Forms’ growth has accelerated since Microsoft purchased Xamarin back in 2016 and with .NET Core & .NET Standard providing a simple way to create libraries for all targets easily, C# is becoming a go-to language for creating quality software that scales.
ALONG CAME UNO
Uno advertises itself as a framework used to “Build native apps for Mobile and Web using XAML and C#”. This doesn’t sound like anything new especially when talking about the other options we have available for these solutions, but scrolling down on Uno’s site does a stellar job of showing off just what makes Uno a better choice over the competition by providing the following comparison table.
So yes, despite being so early in development Uno does provide a lot to love.
This isn’t the first time .NET has made use of WebAssembly to do something magical; the most notable example being Blazor-an experimental framework from KnockoutJS creator Steve Sanderson which allows you to create single page applications using C# and Razor syntax. As far as I can tell similar (if not the same?) technology has been used by Uno to allow Uno applications to run in the browser using the same code as their mobile counterparts.
In fact you can try a live sample of a Uno application running in browser here, note they recommend using Firefox or Edge for the best results. This was enough to make me download the quickstart for Uno, I didn’t think that getting started would take long considering they touted XAML Standard/UWP compatibility and I consider myself pretty good with these technologies but it was starting to seem like the whole library was too good to be true.