Hacker News new | ask | show | jobs
by MattBDev 962 days ago
Using WinUI is really easy to do. Whether you're using WinUI 2.8 with UWP or WinUI 3. So native GUI development isn't difficult at all. XAML is similar to HTML in a lot of ways. If you have your mind set on web development and want a native GUI, you could go with React Native for Windows.
2 comments

I’ve just created and compiled an empty WinUI3 project, and I got 131 MB of binaries just for the AMD64 architecture. The EXE from that folder crashes on startup with DllNotFoundException “Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies”

Apparently, Microsoft couldn’t even setup the project template, need to manually edit the project file adding WindowsAppSDKSelfContained setting. After that it launches, but the binaries are now 151MB in 386 files, for a single AMD64 architecture.

By comparison, an empty WPF application compiles into 171 KB of binaries in 5 files, and the binary is CPU-agnostic, it runs on all CPU architectures. It depends on the .NET 7 runtime, but the runtime for my processor only takes 55MB to download. And if you’re unhappy about the runtime, you can instead target the older .NET framework 4.8 which comes preinstalled on Windows 10 and 11.

Yeah, if one wants to have fun debugging all the issues that are still open since Project Reunion was announced in 2020, with less capable tooling than .NET Native and C++/CX, specially fun having to deal with CsWinRT and C++/WinRT, the latter already in maintenance, stuck in C++17, as the team is now having fun with Rust/WinRT.

At least Native AOT might support WinUI in .NET 9, something to look forward to, for anyone that still cares outside Redmond.

I think the alphabet soup thrown around in this thread alone is indicative for what‘s wrong with Microsoft‘s native user interface story…
I can throw similar alphabet soups from other ecosystems, either one is in and gets them, or not.
Not really. Apple has a much more consistent story on UI frameworks.
Not being around Mac OS long enough?
such as? If I remember correctly (has been a few years), over the last 15-20 years there were

iOS: UIKit -> SwiftUI

MacOS: AppKit -> Catalyst -> SwiftUI

there was definitely some churn within each one of those from version to version, but no complete rewrite needed afaik.

My first Mac was an SE/30.