Live data from Hacker News

Writing GUI apps for Windows is painful

tulach.cc

531–540 of 577 posts

Re: Writing GUI apps for Windows is painful

#531

Earlier quoted context omitted.

This indeed. Custom UI widgets for Windows apps are really not necessary most of the time, and fitting in with the system theme is all you ought to aim for, most of the time. There are exceptions, for very rich dense UI, for UIs that need to be cross-platform, but if you're writing a Windows app, it should look and feel like a Windows app.

Or if you’re making games. All games seem to cherish a unique look even starting from the game menu or title screen.

I, for one, miss customized installers. We've kind of lost out on those what with the move to digital distribution.

Gone are the days of my friend accidentally having his volume cranked when he inserted the Red Alert 2 disc, not knowing it would blast out "WARINING! Military Software Detected!"

Re: Writing GUI apps for Windows is painful

#533

Earlier quoted context omitted.

While Apple could stand to improve some aspects of their UI toolkits (and you're right that private widgets have long been a frustration), I'd say they're in an entirely different plane in existence relative to Microsoft in this regard. The most solid of their toolkits is far and away UIKit on iOS. It's got almost all of the best parts of AppKit with over a decade of thoughtful tweaks, polish, and QoL improvements. A…

UIKit is actually nearly 20 years old and AppKit is getting close to 40…

I'm not sure what point you're trying to make.

Re: Writing GUI apps for Windows is painful

#534

> Writing the GUI part of the program should not take more time than the actual functionality That's rarely a reasonable expectation. Good usability is hard work. > I figured out that for simple apps there is simply nothing better suited than Dear ImGui. If you hate your users, sure. For anything more than a toy please use a real GUI framework.

> If you hate your users, sure. For anything more than a toy please use a real GUI framework. Do you have any actual real criticism?

Dear ImGui's own readme recommends against using it for user-facing UIs. One showstopper is the lack of accessibility support.

Re: Writing GUI apps for Windows is painful

#535
post #370

I'm teaching myself the Win32 API for a future RE project, thinking that knowing it helps with the reverse engineering effort. I have just achieved creating a window, loading a text file and printing it on the main window. Scrollbars are there but don't work yet. It actually take s a lot of work. The boilerplate code is OK but I never realized that showing strings on Windows is such a PIA. I have deep respect for any…

That book is worth gold from Windows game development archeology point of view, it is quite hard to find anything related to WinG online.

It's called "Dungeons of Discovery". The book includes a CD with resources to build a mini yet full blobber game. The CD also contains WinG.dll conveniently.

Re: Writing GUI apps for Windows is painful

#536
post #27

Writing GUI apps is painful everywhere, and has been for years. I remember the half-baked transition from Windows Forms to WPF, which was then taken-over by the Windows Phone initiative, which was also extremely painful and half-baked. There's a reason electron is so popular, despite all the complaints about it as a platform. Don't blame the electron devs, blame Microsoft for completely failing to support their own p…

> Writing GUI apps is painful everywhere, and has been for years. I think UIKit and SwiftUI (and to a lesser extent Appkit) are great

Oddly AppKit seems to be one of the most stable desktop frameworks I have worked with. They've made breaking changes, sure, but they haven't been rewriting, and rewriting, and rewriting the same stuff for the last decade and a half.

The situation on Windows these days feels like... cognitive dissonance. If given a Windows app assignment today, I'd pick WinForms if less complicated, WPF if a larger project.

Re: Writing GUI apps for Windows is painful

#537

Earlier quoted context omitted.

> If you ship alongside your binary a bundle of eg .o files and a script that links them together with a .a for the LGPL part for example, this is also compliant without revealing the source code to your non-lgpl part. This is super clever, I love it! Does any software actually do this?

Yes. For instance some Cisco app on iOS that uses gstreamer (LGPL) does exactly this.

Do you mean iOS the iphone operating system, or cisco IOS the router operating system?

Re: Writing GUI apps for Windows is painful

#538
post #328

Earlier quoted context omitted.

I never understood the need for a single executable on windows when folders, zip files, and 100% free installers exist if you don’t like zip files. Also nearly all of the gui kits he’s shooting down have ways to build custom components if that’s what you want to do.

None of these help you if you are dealing with users that move executables for convenient access or think updating the sofware just involves dragging and dropping the new executable into the existing installation folder. Customer support had countless stories like that.

Does using something like APE by jart work? It's a single executable that's also a zipfile. (I assume a replaceable .dll inside the archive is LGPL compliant) I know it's a bit of a tangent, but on platforms like macos the "apps" are all directories with the .app extension, and that doesn't seem to cause issues.

Re: Writing GUI apps for Windows is painful

#539
post #473

Earlier quoted context omitted.

Please let me know if you have any feedback or suggestions for the player. And yes I’d feel more confident in Flutter if Google was dogfooding it a lot more.

Without expressing an opinion on Flutter as such, it's worth remembering that Google is a big enough organisation that even -some- internal apps being built using it is quite a commitment, and it not having spread further internally could easily be a social or political rather than a technical issue.

I don't think it it's a technical issue. On a technical level Flutter is mostly great. But Google has been doing aggressive cost cutting lately and not having Flutter in use in that many apps makes it more vulnerable.

Re: Writing GUI apps for Windows is painful

#540
post #410

Earlier quoted context omitted.

Not true at all. The LGPL does not specify anything about mode of linking or anything like that. What the LGPL requires is that the end user be able to take the source code for the LGPL part, modify it, recompile it, and then replace the functionality in your binary provided by that part with their new part. Obviously with dynamic linking this is almist trivial, the end user replaces the so or DLL and done. With norm…

Cool! Does this also mean that one could put most of the closed source part into a DLL, make a shell executable that is open source and statically link LGPL code into the latter? This then would allow modifications to the LGPL code to be put in just by having the closed source DLL.

I don't see why not. So long as the LGPL part can be modified and replaced, you're good.

I am not a lawyer.

Post reply on HN