Electron needs to be pushed down the stack to the bare metal, to become the window system itself. Then there will only be one instance of it running, that every other application can share, and the window manager and user interface and networking can all use standard web technologies, that everything else uses.
Isn't this exactly what Chromebooks do? Please correct me if I'm wrong, but they don't run X-Windows or Wayland, do they? And if they did, then what possible benefit would there be over just running the browser directly on the hardware, with the thinnest possible window management and graphics driver layer?
If you disagree, then tell me what X-Windows or Wayland can do that a modern web browser with bare metal drivers couldn't do much better?
You've got JavaScript and WebAssembly for programming, WebGL and <canvas> and <video> and DHTML and CSS for drawing (including low latency rendering with desynchronized canvases), JSON and XML and ArrayBuffer for data representation, HTTP and WebSockets and WebRTC for networking. What is it missing?
You're catching downvotes (have some goddamned respect people) but I'm facing this choice right now.
I have a project that involves a compiler written in Prolog targeting Prof. Wirth's RISC chip (for Project Oberon[1]), and I want to make it easily accessible.
I can use e.g. TCL/Tk/Tkinter/Python+SWI-Prolog, and make a native app that the user has to install... or...
There is a Prolog in JS[2], and an emulator for the chip in JS[3], and rich widget frameworks (I like Knockout[4], but there are literally dozens in JS), so it's pretty easy to make a SPA that shows off the code (literate programming style) along with live compilation and emulation, and you can even let users save their work[5]. "Installation" is just visiting the page.
I keep trying to come up with reasons NOT to go that route (out of some perhaps-misplaced JS prejudice) and I can't.
> There's really no need for X-Windows or Wayland any more.
Yeah you're looking (in typical nerd fashion, I might add; no pun) to the "optimal" stack for you and your future development workflow. But, you know, there aren't many GUI apps worth running on the Electron/browser stack. I need capable pixel and vector graphic editors, 3D modelling apps, audio editing apps, and tons of other apps for media production which are extremely time-consuming and expensive to create. I don't want to loose what we've achieved in F/OSS, because I don't believe we're going to get replacements for the likes of Inkscape, GIMP, G'Mic, Krita, Blender, etc. in these times of short-lived stacks and SaaS's, ever. And why would we want replacements? These apps have just begun to mature, and are working extremely well for me after 10-20 years of development and a bit of getting used to them.