Friday, April 10, 2020

Well after much research, UWP is out. Now, the seemingly recommended graphical desktop platform is WPF over .NET Core 3.x. Supposedly, the WPF and Winforms library port to .NET Core completed in .NET Core 3.0. And apparently UWP standout features are being migrated, piece by piece, to WPF and WinForms over .NET Core 3.x. Also, .NET 4.8 is the last major Windows-only .NET Framework release. The C# 8.x programming language compiler is fully supported by .NET Core where .NET 4.8 only supported up to the C# 7.x programming language compiler.

Everything is always in flux, constantly changing. Although, I have a friend who insists on only using Win32 APIs (the 64bit version of Win32 - clear as mud?) and C++. Apparently, that's still possible... Really?

Thursday, April 02, 2020

Yips, I realized I didn't make a 2019 blog entry....

I didn't make a 2019 blog entry because the year passed at lightning speed and I was busy up to my eyeballs with new feature requests, refactor necessities and, of course, defect slaying. Using Visual Studio 2019 Pro now. Visual Studio 2019 pro, the Visual Studio Installer and 4.8 .Net framework is practically getting big updates every week. It's not much different from 2017 other than it builds a bit slower. This is probably due to the updated compiler static analysis tool. I like this new functionality, here's why. I'm using .NET Framework 4.8 and C# compiler/language version 8.x. The updated tool alerts me to the new C# constructs and practically updates any code it finds with a click of button. So if I don't know how to use a new language construct, it shows me a preview of my source code rewritten using the latest C#. No radical changes to the C# language; mostly the language is becoming more terse (less characters and lines of source code to do the same things).

Real-time performance is still a problem in WPF XAML desktop land. But I get around the problem by writing performance critical code in the C programming language and P/Invoking from a C#/XAML GUI. Passing data between the two platforms can get pretty hairy though. Always using async/await Task.Run() to get off the UI thread. Task cancellation and async Task exception handling is tough to wrap your brains around.

I want to move onto UWP and .NET Core because I understanding the data binding is easier and faster. Don't know about the graphic performance. I can move on UWP now because I've convinced most of my customers to move from Windows 7 to Windows 10. I may use UWP and .NET Core if another new, smallish, app is required. Years ago I did a Windows 8.1 UWP app and I really liked. But now, everybody is moving to .NET Core which didn't exist in the Windows 8.1 days.