Multiplatform GUI toolkits are abandoned or still heavily tied to C++ or Java
Multiplatform GUI toolkits are abandoned or still heavily tied to C++ or Java
> Is there something wrong with running a local web server and opening the app in a browser tab?
For the average user, probably. Though for a developer targetted app probably not IMO.
For a dev, running a new enough version of Node (but, for not well maintained apps, perhaps having one that is not _too_ new around) and making sure you have a recent enough browser, is not an issue, but for beginners or completely non-technical users that is a barrier to using the app.
As access to local resources from within the browser is getting practical, I think the best common ground will have to be two versions from (mostly) the same source: a pure JS version that someone who can follow the instructions can run using already installed node and the same browser instance they use for everything else, and a memory hungry Electron version for others to install just by downloading the huge installer. And of that first version can be run as a service, or perhaps there would be a third version with extra parts not needed for either local version for that, for those who don't want to install at all.
Maybe at some point OSes/distributions/appstores will go with “we have this LTS version of Node and this LTS version of Chromium, otherwise provide your own”. That way devs could release a full cross-platform version of their app (Electron with all the baggage), and streamlined versions (no Node, no Chromium, just the app and any extra supporting libs) for Win10, Win11, Debian11, Ubuntu20.04, ..., that have been tested against the versions included with those OS options. Appstores would always get the streamlined versions because they can make sure the right version goes to each OS version they service. Perhaps there would be a combined installer: still huge as it contains everything, but it only installs and runs the app+libs if the target's standard backend & browser are found to be compatible.