The missing piece is ...
... cross-platform GUI development library. There are 3rd party cross-platform GUI libraries for .NET core already, however they all seem to be browser-based.
Microsoft on Monday launched .NET Core 3.0 and Visual Studio 2019 16.3 at its virtual .NET Conf that is under way this week. The significance of .NET Core 3.0 is that it supports Windows desktop applications build with WPF (Windows Presentation Foundation) or Windows Forms, though on Windows only: this is not the long-awaited …
Have there been any good cross platform GUI libraries?
From the .NET stack WPF is probably the most suited for the job given that it re-implements much of the Windows UI library anyway, so has fewer dependencies unlike say, winforms which is a relatively thin wrapper around Win32 or UWP. No small amount of work though.
Have there been any good cross platform GUI libraries?
Qt if you want to run the same UI at the same level of performance on different devices.
As we're talking about C#, Xamarin Forms is okay, but needs more development - I had hoped that when Microsoft bought Xamarin, they'd put development of the Forms and UWP libraries onto converging paths to create a common UI framework, but that doesn't seem to be happening.
The problem with cross-platform is when you need to make something look exactly like the target OS (this is more of a headache for desktop software rather than mobile/tablet apps). You can do a pixel-perfect reproduction, or a native-control mapping, but then the vendor changes everything and you have to repeat the process (Apple is by far the worst offender here - it seems incapable of updating the OS without screwing with the UI toolkit appearance and behavior)
And Entity Framework 6.3 working, at least after a fashion, on .NET Core 3.0 which might help someone with a migration problem.
Blazor looks very interesting - the locally-interactive bits of your web application (the bits you'd presently find written in JavaScript) are written in a .NET language and can either run in the browser using WebAssembly or run on the web server with the UI events and DOM changes being communicated by means of WebSockets.
I was expecting it to be a bit ho-hum but some of it looks quite impressive. Arguably it needs to get a bit more boring for a while so that developers aren't chasing a constantly-moving target - however there is a least a commitment to a Long Term Support version every other November.
This post has been deleted by its author