20 ms·
Suppose I'm going to add simple Windows gui for an app today, what should I use out of > 5 year old technologies? WinAPI in classic way, using Petzold's "Progra
by ungzd 7y ago
Suppose I'm going to add simple Windows gui for an app today, what should I use out of > 5 year old technologies? WinAPI in classic way, using Petzold's "Programming Windows, 4th edition" as a guidebook? WinAPI wouldn't be enough, I suppose, so can I use at least Comctl32 or is it deprecated? Should I use MFC? ATL? COM? Or should I use WinForms with .NET? Even if my app is written in native code? Isn't it for "business apps" only? Can I use it to write another Winamp?
I'd probably choose Qt.
- maxxxxx 7y agoThere is no clear choice in windows desktop anymore. Only obsolete or soon to be obsolete options. If I had to do it now my first choice would be to go web based, then qt or WPF. Electron looks very appealing too. Pretty sad but it looks like MS doesn’t care about the desktop much anymore.
- tonyedgecombe 7y agoNone of it is going away, the problem is it doesn't get the attention it deserves. All the while Microsoft is busy introducing UWP or whatever comes next they are ignoring everything that came behind it. On the subject of cross platform I wouldn't go for qt or anything like it unless I really needed it. All those frameworks are too compromised if you are targeting a single platform. Possibly even if you aren't.
- userbinator 7y agoso can I use at least Comctl32 or is it deprecated? Of course you can. The Common Controls are part of Win32 in the same way that user32 and gdi32 are. Also worth noting that Microsoft is in the unique position that they do not want to break countless applications and realise that backwards compatibility is their strong point and a major reason why people use Windows, so even if something is "deprecated", unless it's related to some low-level system functionality, chances are it is not going to stop working. I'd say that they use "deprecation" more as a way of marketing newer-but-not-necessarily-better technologies.