If it makes sense for your software, please consider giving it a web interface and turning it into a localhost-only web-service.
bruce965
I might be very mistaken, but I don't think QEMU can link mixed-architecture dependencies. Box86 can run an x86 game on ARM and link ARM-native shared objects for OpenGL, thus skipping emulation of some hotpath code.
VM startup time can be skipped by saving state instead of shutting it down every time.
I would say the worst issue using a VM is with programs that need the GPU (e.g. CAD softwares or games), and software with aggressive DRM.
I thought so. Although almost nothing for modern standards, 60MB is not exactly tiny. Sorry about that.
On a different note, a repository is always a good thing imho. If you'd rather not have to worry about the dependency-pull step you can always include the dependencies with your sources, or just limit your code to using features included in the standard library.
JavaScript through Node.js, or TypeScript through Deno if you like typed languages. They both check all your boxes (just check the size of the executables to make sure that it's what you would consider "small footprint").
Both languages and runtimes are quite popular, so you will find any answers on StackOverflow.
They are both single-executable with little dependencies, and Deno can also compile your scripts to self-contained executables.
As a bonus, both support the vast and extensive NPM package repository where you can find all sort of libraries for even the most complex tasks.
And they work with your favourite IDE or editor, not just syntax highlighting, but also contextual suggestions.
I'm still a bit confused by the use of this "Driver Store". Since when does Wine support device drivers? Or are we talking about something else?
Phoronix seems to explain a bit more, but I still did not understand: https://www.phoronix.com/news/Wine-9.16-Released
Could anyone share their insights?
I didn't understand that you ran it without hardware virtualization. This is really convenient, thanks a lot for making it!
You might like this website: https://alternativeto.net/software/ipod-iphone-podcast/?license=opensource&platform=windows
Yeah, you are correct. Docker shares the kernel with the host operating system, it doesn't use hardware virtualization. That's why it's so fast and simple, but it also means it's not a traditional VM and thus comes with some limitations.
I might actually be interested. It's like a lightweight alternative to Proxmox?
Good separation between business logic and UI without effort, cross-platform UI in any language, possibility to turn it into a web-accessible service in the future, great choice of UI frameworks and battle-tested components if you decide to go for a web framework and language.
As an example of a successful software that followed this approach: Synchthing. All versions run a local web service in the background. The Desktop version just opens a browser on the index page. The Android version is a native app that calls the exposed REST API on localhost, bypassing the web UI.
As an example of a much more complex software, albeit not FOSS: EasyEDA. It's a web software, but it also comes as a desktop app (which I never tried) which I assume is not much more than a frame for the web view.
My recommendation: write the UI with React on Vite in TypeScript, and write the business logic in your general purpose language of choice (mine would usually be C#).