Hacker News new | ask | show | jobs
by LoganDark 42 days ago
The user experience of WinUI 3 isn't the worst I've seen but the developer experience is absolutely awful. I tried to make a simple app with it and the number of hacks I needed to get it to look and feel the way I almost wanted was horrible. And the documentation sucks. I had to read the system level implementations of controls in order to figure most of it out. It's great those implementations are available to read, at least, but OH MY GOD

Also seeing stuff like text fields re-implemented from scratch in XML scares me. I don't like to see that.

2 comments

  The user experience of WinUI 3 isn't the worst
WinUI apps are unbearably laggy when you resize them.
And better not touch C++/WinRT, it makes that experience a few notches up.
WinRT isn't the most awful in the world to use from, say, Rust because there are auto-generated bindings, but I agree that C++ can be awful.
WinRT was great, back when using it via .NET Native and C++/CX.

It was like Delphi and C++ Builder kind of experience, then they killed the whole experience.

Rust with windows-rs is hardly any better, and coming from the same folks that killed C++/CX, with false promises at CppCon 2017, I don't have great hopes for it. They will jump ship again after a new shiny.

Speaking of Delphi - they should just buy Embarcadero and make Delphi and CppBuilder available for small money. That way they might get more and better apps for their platform again.
The thing is, at least compiled programming languages are statically typed. XAML is... well I don't think they even have a language server for it. My experience in Visual Studio (non-Code) was pretty bad.
Because the idea is to use the designer, not write it by hand.

Well, until they killed the designer for WinUI 3.0, yet another flaw they don't talk about.

At least still around for Forms, WPF.

I think my favorite cross-platform GUI library is wxWidgets, because you can manually construct an interface from nested linear layouts, which is the way I prefer to construct my interfaces.

Apple seems to have a much more powerful constraint system for this sort of thing, but I haven't taken the time to learn it yet, so I can't speak to whether I'd prefer it or not.