Right, but the alternative is rarely a native app for each platform, it's Electron in most cases.
I imagine you could make something that at least gives you as much opportunity to fit in as electron, with accessibility support, and some new ideas, be it from a development paradigm, inbuilt widget sets, or something else.
I mean, the better (for users, maybe not for developers) alternative is to buck up and build a native client for each platform. Share as much code as you can portably, but you'll have a small platform-specific shim around the edges to call into the shared business logic and implement the platform-specific window management and bling.
Yes, this is very reasonable for some kinds of software. For other kinds of software, the users may consist of a small team - say the teachers at a school or a specific research group or a family - where some are using Mac and others are using Windows
Sometimes, developing a simple tools should be simple (without all the overhead of shared business logic, etc.), but in my experience, there is too many obstacles to make simple GUI tools that just works. It's a shame, I believe that many teams would have increased their efficiency if there were easier ways for individuals to make simple tools adapted to their specific needs. Now, they are typically stuck with Excel...
>but you'll have a small platform-specific shim around the edges to call into the shared business logic and implement the platform-specific window management and bling
No you won't. We've had cross-platform libraries like SDL to do that for ages.
Electron isn't that revolutionary - it's basically just shipping applications in containers. It just happens that the container is a web browser, but it could just as well be the JVM or any language runtime with a GUI layer.
The "interesting" part, if anything, is using a document-based paradigm to build a GUI-driven application, with separation of concerns between code, layout and semantics. But none of that has to be done with webcode.
> Electron isn't that revolutionary - it's basically just shipping applications in containers. It just happens that the container is a web browser
Except that the backend part of the app doesn't run in the browser, it runs in Node. So it's not shipping applications in containers, even if one views a web browser as a container.
I imagine you could make something that at least gives you as much opportunity to fit in as electron, with accessibility support, and some new ideas, be it from a development paradigm, inbuilt widget sets, or something else.