Live data from Hacker News

Writing GUI apps for Windows is painful

tulach.cc

471–480 of 577 posts

Re: Writing GUI apps for Windows is painful

#471
post #373

Earlier quoted context omitted.

I think his complaint is not that he has to pay money per se, but having to pay several thousand dollars. That's a bit much for an independent developer.

I have little sympathy for that kind of argument, imagine a carpenter complaining that they have to buy wood and nails. Besides, a Qt license for small businesses is nowhere near thousands of dollars. Only in software development do we expect quality tools to be given to us free of charge with no strings attached.

Your take is very weird.

He's shopping around. When something is out of his budget it's natural to not buy.

Re: Writing GUI apps for Windows is painful

#472
post #392
post #373

Earlier quoted context omitted.

I think his complaint is not that he has to pay money per se, but having to pay several thousand dollars. That's a bit much for an independent developer.

It's especially hard when the application you're building isn't yet proven. As there's no guarantee that it will get any sales, let alone enough to cover the Commercial Qt expenses.

You do not have to pay before your first sale.

And $500 is laughable small compared to developer salary. If it saves you half a day of work, you are covered

Re: Writing GUI apps for Windows is painful

#473
post #404

Earlier quoted context omitted.

Thanks, I will have a look at that. Serendipitously, I'm in the market for a new music player! Yeah the Google risk... seems like they came out strong in support of Flutter at their last dev conference, but at the same time it does _not_ look like they're using it for their main apps.

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.

Re: Writing GUI apps for Windows is painful

#474

Earlier quoted context omitted.

I don't understand why Microsoft puts it on the user/dev to make sure their own dependencies and "VC redistributables" are installed. Like shouldn't Windows 11 just either have that already or pull it down as needed as it's an official MS library. Feel I always hit a roadblock when setting up a new PC where one of the things needs that but the dev didn't provide it and I have to get it myself. Which feels weird when…

> Like shouldn't Windows 11 just either have that already or pull it down as needed as it's an official MS library. In this day and age of everything always connected, some things still aren't always connected.

The app manifest could state "I need this runtime installed". The OS can know whether it is already installed or not. The OS also knows whether it is internet connected or not. If a runtime that isn't installed is needed and internet connectivity isn't available, the OS could state that, with information about how to procure the runtime manually.

That would stop people that have copied thr application from a pendrive in an air gapped system, that's true. One could make the case that someone meeting all of those requirements for would be technically minded enough to figure it out.

This wouldn't help developers who want to distribute a small application that won't ever require a download, but would be an improvement for anyone already distributing .Net applications over the web.

Re: Writing GUI apps for Windows is painful

#475

This is a good overview of some of the options, but the author’s specific requirements push it in a specific direction that eliminates a lot of options. Specifically, the requirement for completely custom GUI styling without writing his own render functions means it’s really a task of selecting easy, customizable GUI libraries rather than generic GUI work. The requirements to be self-contained executables and under a…

I've gone through the same process of evaluating x-platform alternatives and I can now understand why Electron is so popular. I mean, you do have the unreasonable bundle size, but other than that you can make really good looking applications using the same tools you can use to make web sites for both desktop and mobile.

I've been eyeing https://neutralino.js.org/ since if I'm going to make the app render right on browsers then relying on the same code via webviews likely isn't (much) more portability effort.

Re: Writing GUI apps for Windows is painful

#476

Earlier quoted context omitted.

WinUI3 is a can of worms that’s becoming palatable only with .NET 8 (and soon 9). In a normal configuration, you have to bring 500MB of dependencies with you, or ask the user to install a redistributable. You also need the user to install .NET 8, or bring said 0.5GB with you. WinUI3 can be used in unpackaged apps (I.e.: not appx) but has a few random caveats that just don’t work; random APIs that have a footnote of “…

I don't understand why Microsoft puts it on the user/dev to make sure their own dependencies and "VC redistributables" are installed. Like shouldn't Windows 11 just either have that already or pull it down as needed as it's an official MS library. Feel I always hit a roadblock when setting up a new PC where one of the things needs that but the dev didn't provide it and I have to get it myself. Which feels weird when…

Microsoft's solution to DLL hell was installing lots of DLLs side-by-side. The problem with WinUI and VC redistributables is that we've now got a combinatorial explosion of them and teaching an installer to know and understand the complex network of dependencies is a lot of work.

Microsoft's intended solution to this was to write one last Installer platform to try to rule them all. That's where AppX and MSIX installers came from. Unfortunately for us all, that Installer platform was synonymous with the Windows Store/Microsoft Store for just long enough that everyone assumes that is all that AppX/MSIX were intended to be. Today MSIX supports everything you want to do in a Win32 application, plus all the Dependency Fu of getting a WinUI application correctly installed. Just about the only left that you can't install directly in an MSIX is kernel-level drivers and even then there are options depending on your hardware vendor relationship with Microsoft.

The article dismisses MSIX packaging out of hand, but given it is still referred to as AppX packaging in the article, the author might not be aware of how much MSIX packaging has advanced in a bunch of years and still makes some assumptions of MSIX limitations based on early Store-intended AppX restrictions.

Re: Writing GUI apps for Windows is painful

#477

Earlier quoted context omitted.

imgui offers incredible development speed. And I've used it many times with great success. It's unorthodox yes (and there's a long-open bug I won't talk about again) but it's dear to my heart. It's like MFC on steroids: You don't have to leave C++. But yeah at least a few of those caveats remain. Although keyboard navigation and font rendering have quite a bit of support.

Due to what reasons does imgui offer incredible development speed?

Because adding a text is just a imgui::text("abc") function call. And a button is just an if(imgui::button("click me")) do_something() statement. There is no other language involved, no markup, no gui editor. Just direct code and highly hackable to make this extend to unexpected lengths.

Re: Writing GUI apps for Windows is painful

#478
post #414

Earlier quoted context omitted.

You're right. I didn't see the Small Business tab when I was quickly looking through it. Still ends up being a blocker when you're not sure how many copies of the product you'll sell.

I guess that is just one of the many risks you have to take if your trying to build a business. A couple of hundred dollars in licensing fees are not going to sink your product. For a side project that you don't expect to make any money it might be too much, but in that case you could just as well open source the project.

> but in that case you could just as well open source the project.

Which doesn't necessarily mean you cannot get paid for it.

Re: Writing GUI apps for Windows is painful

#479
post #309

Earlier quoted context omitted.

Agreed. Also didn't get why he felt complying with the terms of the LGPL for a statically-linked .exe would be so much of a problem. Just put the object files and build script in a zip file, and upload it to the same webserver where you plan to put the program. Add a line in the "About" dialog (or whatever) pointing to it. Done.

Whilst I don't understand the users who are hell bent on having a single-executable work, if you have users who are hell bent on using but a single executable, you have to meet them where they're at.

In my experience Windows users don't care about the statically linked part

What they care about is having an executable and not needing a zip with dlls

And that is trivially achievable by bundling the dlls into the exe file

Re: Writing GUI apps for Windows is painful

#480
> 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.

Post reply on HN