People dislike electron because they are using apps where it is not implemented well. Javascript is single threaded and blocks rendering when it’s executing, just like most major UI frameworks. You have to run everything outside the main UI thread and marshal data back to the renderer. In JS the furthest most go is using promises with async/await, which lets you not block during a long-running request, but the continuation callback is still executing within the same thread. If you implemented an app using a web worker internally and kept the main thread just dispatching events and doing quick render updates, it would perform amazingly well. CSS and JS are crazy efficient, there is no reason that an electron app can’t refresh at 144hz. The limitations are purely architectural. Most other UI frameworks put all deferred callbacks into a separate execution context and force martialing (eg in WPF, having to use dispatcher.BeginInvoke). JS doesn’t force this but is possible.
The ram usage is going to be higher than a native app, and so is the exe size. Those issues can’t be comparable. but the performance of the electron itself is not so poor as people believe. And a well written electron app can easily use under 200mb of ram, which is not an outrageous amount on modern systems.
The ram usage is going to be higher than a native app, and so is the exe size. Those issues can’t be comparable. but the performance of the electron itself is not so poor as people believe. And a well written electron app can easily use under 200mb of ram, which is not an outrageous amount on modern systems.