4 ms·
> C# is blessed on windows Not as much anymore. Part of it due to the mess that is the first-party Microsoft's GUI frameworks situation, part of it due to .NET
by neonsunset 2y ago
> C# is blessed on windows
Not as much anymore. Part of it due to the mess that is the first-party Microsoft's GUI frameworks situation, part of it due to .NET's own APIs and semantics not evolving together with Windows since long time ago.
Funny anecdata: someone* recently made a small app to indicate when (now broken) CTRL+C is actually triggered in Windows. It was initially written in WPF and was exhibiting a weird unmanaged memory leak. Only after porting it to Avalonia (which works everywhere) the issue went away: https://x.com/KooKiz/status/1873726346897330243 https://x.com/KooKiz/status/1873726346897330243
So your experience might actually be better with a cross-platform GUI framework!
Mind you, it's still in its "homeland" on Windows - things like access to Registry are part of the standard library, but you may find it performing better on Unix systems otherwise. The IO abstractions certainly do!
* well, not someone but one of the co-authors of Pro .NET Memory Management.
- jpc0 2y agoHis journey tracks exactly what I've heard from windows development. If you need more than winforms use avalonia because Microsoft cannot create a viable UI toolkit... Which is extremely funny concidering the article we are having a discussion under... My point however was that compared to C# you are fighting an uphill battle using any other language to do native windows UI development... Also why I stopped looking pretty early into native on windows and built a webapp...
- neonsunset 2y agoWell, Uno (AvaloniaUI's competitor) uses WinUI 3 as a back-end on Windows. And NAOT-compiled Avalonia on Windows is practically native anyway. You can use both to build against macOS too if you want to target both major OSes. The offerings have improved significantly over the years. But yes, I get your point, if you're not familiar with C# (or Dart or Kotlin for that matter), there is motly a one way out in the form of a web app.