5 ms·
The UI story on Windows is completely broken but that has been the case forever. Has MS basically released anything sustainable on the UI side since MFC? It f
by addicted 5y ago
The UI story on Windows is completely broken but that has been the case forever.
Has MS basically released anything sustainable on the UI side since MFC?
It feels like they’ve constantly provided a new new replacement every few years that replaced the new replacement from a few years ago since then.
- foepys 5y agoThat's definitely true but they did a good job supporting their tech once it was released. My company has been using WinForms on .NET Framework for over 10 years now and it's working really, really well. Microsoft even added HiDPI support to it. When Microsoft announced they wanted to bring WinForms to .NET Core 3, we were initially very happy as it meant we could switch to .NET Core. But then they did all kinds of shenanigans with it and completely rewrote the designer for .NET Core in Visual Studio, which is now riddled with bugs and crashes constantly. You cannot even load your own custom controls into it. I mean, you can, just get Microsoft to let you sign an NDA to get access to the APIs...
- beermonster 5y ago> My company has been using WinForms on .NET Framework for over 10 years now and it's working really, really well. Despite WPF being preferred amongst developers, WinForms solves most use-cases well. I’ve not really kept up with Microsoft UI developments but I’d be interested in seeing any cross-platform UI toolkits they develop now or in the future just as an alternative to gtk/qt
- pjmlp 5y agoThe problem is that many features in Forms like data binding or layouts, have bugs, which happen to be only fixed on WPF, because that was the new boy in town. So when you move beyond VB6 style of applications, there are several head scratching moments.
- lbriner 5y agoSadly this is their policy across the board. Even though things like dotnet core 3.1 is supposed to be LTS, when you report a bug, you are most likely to get the response, "we will only fix it in .Net 5" as if upgrading everything is a 5 minute exercise. For a company who turns over an enormous amount of money and employs 10s of 1000s of people, you would have thought they could support these separate frameworks with dedicated teams of 10-20 reasonably high calibre devs.
- ygra 5y agoThey had to rewrite the designer for .NET Core since the designer runs your own controls' code right during design time (pretty horrifying on one end, but also enables a fairly integrated experience with custom controls). Since Visual Studio is based on .NET Framework the designer had to move out of process, as the only alternative would have been no designer at all. So that's a twenty-year old codebase, perhaps on both ends (Windows Forms Designer and Visual Studio alike) that now somehow has to be moved to different processes and different runtimes. Perhaps you have more luck with JetBrains Rider, although from what I've seen they simply host the very same designer in pretty much the same way as Visual Studio and thus are unlikely to fare any better here. The other option is the still-recommended workaround of keeping the .NET Framework project files around and do designer stuff with those. Also annoying, admittedly, but that's what I've been doing for now (well, for other reasons as well, as we sell a .NET UI component that still has to work in .NET Framework as well).
- mattmanser 5y agoNo they didn't. Take a look at what happened to silverlight or UWP. You just happen to be working in the one tech they actually carried on supporting.
- pjmlp 5y agoUWP is still supported, that is what WinUI is built on. The problem is that they now seem to somehow carrying that flag forward on top of XAML Islands, with an endless list of bugs.
- tonyedgecombe 5y agoI had a lot of problems adding HiDPI support to a moderately complex WinForms application. It was a huge time sink.
- tomnipotent 5y agoIs there a UI story that doesn't suck?
- scns 5y agoMaybe, if you change your perspective. From buddhist teachings i learned that we react emotionally to the labels (our judgements) we attach to what we perceive, not realitty itself which just is.
- jcelerier 5y agoI'm mostly doing my UIs in Qt and I'm always happy, sure it's not perfect but it consistently allows me to do what I want in a cross-platform way with minimal effort (especially when I compare with the royal empirical pain that is webdev)
- whoknowswhat11 5y agoFor windows what's your hello world workflow / stack. I've wanted to get into QT, but there seem to be a bunch of different flavors out there. I'm more a winforms guy then an HTML/XAML/CSS type person.
- gmueckl 5y agoOn Windows, there are two easy ways to get started: Qt Creator and the Qt Addin for Visual Studio. Qt Creator is easier, I think. Personally, I use Qt Widgets a lot and ignore Qml, because the later has seemingly much less powerful widgets out of the box.
- jcelerier 5y agoI'll be honest I don't think that doing C++ on windows is a good idea. The language needs to do a lot of file access for includes, and on NTFS those are super slow, my builds on Linux are something like 1/3 of the time on windows (building the same software with the same commit of clang 12 and lld, same computer, same SSD). But if you don't want to install a Linux partition, then just use aqt to install Qt: https://github.com/miurahr/aqtinstall https://github.com/miurahr/aqtinstall You want win64_msvc2019_64 as a platform. Way too often I see everyone clicking on everything in the installer which amounts to a 30gb download, but for the immense majority of Qt apps you just want the core libs for your platform which is like a couple hundred megabytes (and even then in practice you're going to use only a small part of those unless you have uncommon needs such as serial port, modbus or NFC communication, XML parsing, ...)
- jussij 5y ago> Has MS basically released anything sustainable on the UI side since MFC? MFC is nothing more that a C++ GUI library wrapping the Windows Win32 GUI layer. The problem with that Win32 GUI is it has not changed for several decades, which is why any application using that Windows GUI layer looks old and outdated on modern Windows. Since Microsoft is not updating the Win32 GUI layer, it is basically obsolete. However so many Windows applications still use that GUI layer and that then makes the Windows UI a complete mess.
- deleted 5y ago[deleted]
- zozbot234 5y agoWin32 GUI supports theming, that's what Windows XP's Fisher Price UX was all about. "It looks outdated on modern platforms" is a non-issue and total BS.
- cbsmith 5y agoMFC was kind of a weird beast in general. In some ways it was just a C++ GUI API for Win32, but it did have distinct traits and behaviors that have MFC apps a subtle feel that many found unappealing.
- pjmlp 5y agoActually not even MFC was that good when it appeared into the scene. Borland C++ and Delphi/Turbo Pascal frameworks have always been top notch, and Qt follows their way. MFC was re-created too low level, because the C guys at Redmond wouldn't use it, the Afx prefix comes from that first attempt. I do like Forms and WPF a lot, so I fail to see what is broken about them, other than the missing love from doubling down on WinRT since Windows 8. Ironically, MFC is the best framework for doing C++ GUI on Microsoft stack. With C++/CX they could have had a C++ Builder like experience, instead politics made C++/WinRT replace it, while whoever is in charge doesn't care about Visual Studio tooling. So using C++/WinRT is akin to being back in Visual C++ 6 alongside ATL, editing IDL files with a Notepad like experience.
- qwertox 5y agoWinForms was definitely very fun to code with when I used it around 10 years ago. MFC on the other hand was a real pain. Some strange thing came afterwards which I never understood why, but then I already moved into Backend/HTML/JS. Is WinForms really something that is outdated? Or is this new thing one just their attempt at unifying OS and Mobile UIs? I think Windows 10 uses this new framework and I absolutely dislike what I see, specially the entire new configuration system Windows has, compared to Windows 7.
- int_19h 5y agoIt's not easy to write good reflowing UI in WinForms. You have anchors, but they aren't enough for the more complex layouts. And you have actual layouts, but it's a real pain to set up anything non-trivial with them. However, there's also WPF. Which is also kinda in the same spot in terms of support and future development, but it's a lot more modern and flexible compared to WinForms. As for MFC, the main reason why it's such a pain is because it's a relatively thin abstraction layer over Win32, and it doesn't even try to hide most of that underlying complexity (or limitations)
- coldacid 5y agoMFC was sustainable?