It is an interesting and intriguing technology, but pretty useless if not even dangerous, IMHO.
It is an interesting and intriguing technology, but pretty useless if not even dangerous, IMHO.
But I'm sure the platform owners, notably Apple and Microsoft, will find ways to prevent the widespread use of such technology. You have to buy certificates, notarize, sign, get reviewed, etc., so they can make extra money off developers and keep total control of their users in the name of some fake security theater. That's why everybody is writing web apps instead.
Again, platform checks are run at every binary run instead just once at compilation time.
Proper build tooling still doesn't change the fact that you need to stamp out one binary per OS and CPU architecture, potentially using different compilers. This is always brittle (I would know: https://github.com/floooh/sokol-tools/actions/runs/107248810...)
Here's your use-case: providing a saner alternative to Electron. The Qt solution is more performant than the current solution.
Electron provide a solution for that https://www.electronforge.io/
So you whip up a web app, throw it into the forge, and bam you got your binaries.
I agree that this might be a dangerous thing to use, but it's not unprecedented. This has a lot in common with using cross-compiling process. If performance is good, it could potentially replace something like AppImage I guess. However, making all your dependencies compile with this thing and then debugging the result may end up being harder than maintaining however many separate builds. It sounds amazing to me that they got Qt to work with this tool. I don't see myself using this but I might take a closer look one day for the hell of it.
This can also lead to security issues, as it encourages the use of shared folders or USB drives for carrying around executables. You should never reuse executables from other systems - always download one from the first party.
All I hear is "ewww, physical media!"
Security-wise, copying executables b/w systems amplifies the risk of escalating partial write access on one system to full system access on many other systems. This would be an easy building block for "Advanced Persistent Threat"[1] attacks.
[1]: https://en.wikipedia.org/wiki/Advanced_persistent_threat