3 ms·
You don’t need windows to develop .NET. Windows and Mac both have full fat visual studio. Linux only has vscode, but with the proper extensions, it’s flawless.
by Atotalnoob 3y ago
You don’t need windows to develop .NET. Windows and Mac both have full fat visual studio. Linux only has vscode, but with the proper extensions, it’s flawless.
Jetbrains rider is also cross platform.
Most of the places I worked I develop on windows or Mac, then deploy on Linux containers.
Cross platform GUI is a bit of a mess. MAUI is the modern stack for cross platform, but in their big brain Microsoftness they decided to leave Linux to the community… so they only officially support, windows, Mac, IOS, and android… I haven’t used it, but i have heard good things.
There is also Avalon.net which is a community gui framework, but I haven’t used it.
You can also use electron with a .net backend, or web view with a blazor (web assembly).
Winforms and wpf aren’t deprecated, (as far as I know, but things could’ve changed in the last year) but they are feature complete. Essentially no new major features, but I believe they support .Net 6/8… they are windows only, since they use COM heavily. You can’t beat the simplicity of winforms for small windows apps, but I would pick UWP for modern windows only development… UWP was the thing no one used, it uses XAML (similar to android development) like WPF, I believe.
If I had to create a cross platform desktop gui for a company I worked at, I would reach for blazor and WASM and use web view or something to present it in a desktop app.
For web, i would have a .net web api, then use a SPA framework for the front-end. You could use blazor, but I’ve heard mixed experiences with it, my primary worry is the startup time of web assembly vs JavaScript. Plus I haven’t done blazor in Kubernetes, and I am hesitant due to the web socket stuff…
Native AOT is becoming big in .NET (no jit or reflection) so we can finally ship decent cli tools (JIT for cli just seems excessive).
- solardev 3y agoThank you for the details! I appreciate it.