We have been digging into the resource-handling code, and have pretty much decided not to use QT for it. The problem is that QT stores the resources in compiled form, so it’s embedded in the application in an inaccesible form. That means, for example, that it is much harder to build versions for other languages. It’s also impossible for users to “hack” minor changes.
The alternative is to write separate, native code for Macintosh (using Cocoa and either Objective-C or Swift) and for Windows (using their API). If we need to write native code for resources, than it may also make sense to just do it for everything. More effort, but better.
I just read a well thought-out article that extols the virtues of writing for both platforms at the same time, instead of building one and then doing a “port” later (or using a cross-platform tool like QT). Considering both at the beginning leads to better design. Also better quality code, since each compiler catches different types of bugs. It’s kind of like having two building inspections instead of one.
After 14 months of talking with (and paying) subcontractors and getting nowhere, the idea of doing the work in-house is appealing. It probably would take a year or more of rather tedious/frustrating work to finish the Pro version that way, but the end results will be better. This is going to be a tough decision.
Turtle Creek Software