I've been thinking of something along those lines for years. I hope your project gets traction. I'd love to develop with web technologies exclusively, but what we've been doing with Electron is crazy. Imagine loading a whole new Win32 or Carbon/Cocoa for every app you open.
I can understand the inconsistencies and lack of feature support that could emerge from using a different browser engine for each OS (Webkit/Edge), but there should at least be away for Electron apps to share Chromium/Node runtimes between them.
Isn't this basically what PWAs will hopefully solve?
Rather than Spotify, Slack, Discord, ... all coming with their own Electron bundle they can be packaged up as a PWA and use the browser as the runtime environment along with all the nice offline stuff, safe OS integration for notifications, sandboxed file system access, ability to still do some work in S0i3 (aka Modern Standy on Windows), etc.
Or am I totally wrong about this? I am not a web developer so I could be :)
Bonus question: how would this work for things like Atom and VS Code that are electron based. Could they become a PWA?
All good questions and some things will probably be well addressed by PWA or whatever we decide to call JavaScript rich webpages by then.
But some UI issues, like the lack of a proper menu, browser's chrome and address bar will still be a turn off. Besides, having unrestriced access to the user's drive is not something a web page should be able to do and is a must for something like a text editor.
There's no reason a text editor, or most applications really, need unrestricted access to a user's disk. They have to prompt the user with a file open dialog anyway, so you may as well let the OS handle that and pass an fd/handle across the boundary for you.
Browser chrome and address bar are not an issue as I believe a PWA can run in a generic application Windows with it's own icon, etc. Similar to if you have used a Chrome Web App in the past? Unless you go looking for it you wouldn't know it was running within a Chrome process.
Not sure how menus are handled. A standard menu API would seem to make the most sense to me?
I can understand the inconsistencies and lack of feature support that could emerge from using a different browser engine for each OS (Webkit/Edge), but there should at least be away for Electron apps to share Chromium/Node runtimes between them.