There is an alternative timeline in which I became a software developer. It’s what I went back to school for in the early 1990s, and it’s what I was doing when life took me in a completely different direction. But as I noted to my wife this morning, if there’s a job out there that’s even more frustrating than what I do today, it’s being a software developer. And as a proof point for this opinion, I will offer up this story. Which is my second major example of this happening since I decided to modernize .NETpad in May 2024.
? Super-quick recap
I feel like I spend half my time in articles like this getting everyone up to speed on what’s happened before this point. But this time I will be brief.
I restarted .NETpad using the Windows App SDK (WASDK) and WinUI 3 because this is the only way to deliver a modern version of the app with elegant support for multiple documents/tabs and other features I want to add.
As a “native” Windows app framework, WASDK/WinUI 3 has similarities with the Windows Presentation Foundation (WPF) that I was using previously, including its use of C#, .NET, and XAML, and general similarities between the frameworks. But they’re also painfully different in ways both big and small, and all across the frameworks.
That’s to be expected, on some level. But I’ve been surprised to discover that WASDK/WinUI 3 also have some unique problems. These include literal functional regressions when compared to WPF, meaning features that are present in WPF but are not available, in any form, in WASDK/WinUI 3. And also some odd instances in which these issues are known to Microsoft but never fixed.
This is an example.
? Refactor, rewrite, and … reimagine?
Look, I try to roll with the changes as much as the next guy. When WASDK/WinUI 3 doesn’t offer a StatusBar control like WPF and every other Windows app framework dating back to Adam and Eve, I can handle that. I can just use a Grid and add TextBlock controls. No problem. When I discover that WASDK/WinUI 3 supports Light and Dark mode themes explicitly but does not understand “Use the system theme,” I don’t like it, and it doesn’t make sense, but I can handle that too. There are numerous small things like this.
But there are bigger issues, too. I alluded to one in the previous version of the app when I wrote that commanding in WASDK/WinUI 3 was “so freaking different” from how this works in WPF that I would need time to figure it out. But since then, I began to understand that it may not work at all, and that I will probably need to do something completely different.
I will figure that one out. But this is a different issue. Related, I guess. But a good example of how WASDK/WinUI 3 can really bite you in the ass in ways you just don’t expect. Because they make zero sense.
A lot of the work I’m doing now is basic, meaning it’s functionality I figured out several years ago, first in Visual Basic .NET and Windows Forms, and then in C# and Windows Forms, and then in WPF...
With technology shaping our everyday lives, how could we not dig deeper?
Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.