A couple weeks ago we decided to switch gears, and use a very new framework (Windows UI 2.4) to build Goldenseal Pro for Windows, rather than a very old one (MFC).
When learning a new system, it always helps to start with sample apps. In fact, the ideal way to create a new app is to start with something that already works, and then add to it one step at a time.
So we downloaded a few samples and tried to build them. They needed other Microsoft libraries to run, so we downloaded and installed those. Then they needed even more libraries, using something called NuGet. Running it just gave mystery error messages: probably because it couldn’t find the necessary files on Microsoft’s servers. We searched the web for answers, tried a half dozen suggestions, and got nowhere. Dead in the water.
It’s a really bad sign when you spend 10 or 20 hours on something and can’t even get started.
These days, neither Microsoft nor Apple do a very good job with their programming tools. Fortunately, most frameworks have an ecosystem of books, websites, videos and Stack Overflow answers to assist us developers. Very few of those exist for Win UI 2.4. It is just not ready for prime time. Since it’s sort of a temporary filler, it probably never will be ready. My first impression was that it seemed half-baked, and now that suspicion is confirmed.
I think we will be better off waiting for Win UI 3.0. It is a bigger update and hopefully will have better support.
Win UI 3.0 is promised for some time later in 2020, which probably means 2021. It may not be fully usable until 2022. That’s still quicker than we probably can manage using MFC, so the most logical course is to just wait it out. There really isn’t anything we can do right now to make Goldenseal Pro happen for Windows, at least not by using Microsoft frameworks.
Fortunately, there is another alternative: QT. Way back in 2015 we hired a subcontractor who specialized in QT, to build Goldenseal Pro for both Mac and Windows. He finished enough to receive one draw payment, then stalled out. But, maybe we can figure out how to make it work. Worst case, our staff gives up in disgust and we still wait for Win UI 3.0.
In theory, QT lets us write one batch of code that runs on Macintosh, Windows, and even Linux. QT is open source, and its volunteer programmers did the heavy lifting to convert from 32-bit to 64-bit on the Mac. Odds are good they’ll also make it run on the upcoming ARM chips. So QT is worth the try.
As with our original plan, it probably will take most of the summer to get the gears fully shifted. Run some samples, read some books, work through the tutorials.
Based on a quick look, QT seems like it’s a complex, confusing mess. Unfortunately, that is the state of all the other options, too. These days, all programming requires layers upon layers of other people’s code. It tends to be fragile, poorly maintained, and poorly documented. But having a support ecosystem helps a lot, and it does already exist for QT. Whether that is enough to make it usable, we will soon find out.