You can deploy the . NET Core platform with your applications and become completely independent of your end users environment – your app has everything it needs to run on any Windows machine.
NET framework has good networking, memory management, security, APIs, and application deployment. The latest generation of . NET Core 3.0 will help you to create multi-platform apps that runs on Windows, Mac OS X, and Linux. It has a higher performance and is more modular than the traditional .
Cross-platform development is great, so is . Net Core. But, as of the time of this writing, . Net Core doesn't provide a cross-platform windowed GUI.
You were not missing anything. Microsoft shipped no reasonable way to create GUI applications directly using .NET Core until .NET Core 3, though UWP (Universal Windows Platform) is partially built on top of .NET Core.
.NET Core 3.0 includes support for Windows Forms and WPF, though it is Windows-only.
.NET 6 will include .NET MAUI, which will support Windows and macOS desktop applications and mobile applications, with Linux desktop applications supported by the community (not MS). .NET 5 will include a preview version of .NET MAUI.
For third-party cross platform options, see other answers.
AvaloniaUI now has support for running on top of .NET Core on Windows, OS X, and Linux. XAML, bindings and control templates included.
E.g. to develop on macOS with Rider:
New Solution
Templates List!You could use Electron and wire it up with Edge.js resp. electron-edge. Edge.js allows Electron (Node.js) to call .NET DLL files and vice versa.
This way you can write the GUI with HTML, CSS and JavaScript and the backend with .NET Core. Electron itself is also cross platform and based on the Chromium browser.
It is now possible to use Qt, QtQuick, and QML with .NET Core, using Qml.Net.
It is highly performant (not "P/Invoke chatty"), fully featured and works across Linux, OS X, and Windows.
Check out my blog post to see how it compares to the other options out there currently.
PS: I'm the author.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With