Electron is hated on Hacker News. I personally critique it quite a bit.<p>But here are a list of things that Electron does better than any other desktop GUI framework.<p>1. Skills portability. Just use HTML and CSS to build your layouts. Hundreds nee thousands of web developers become instantly desktop developers, at least when it comes to UI development<p>2. Non natively cross platform. Your app looks exactly as you designed it across all major platforms. Down to the last branding design element. Without any additional effort.<p>3. Vast CSS, Node and JavaScript library ecosystem.<p>4. Flexibility in UI. I have yet to see a traditional UI library have the flexibility of CSS + markup.<p>5. Good enough native integrations. Users don't lack any of the major native integrations.<p>I am sure there are downsides of Electron. But unless a pure native library challenges some of the pros of electron, it will continue to grow in popularity.
macOS has terrible resource management (probably a fault of the developers of various major apps). EDIT: Lmao, look at kernel_task, a mysterious phantasm that seems to be using 2gb at any moment. Look at other abstract, undocumented Apple processes that just exist, and you have no control over them. It's literally insane.<p>Electron has even worse resource management, since its built on top of Chromium, which doesn't even attempt to make any reasonable decisions about how much resources can be utilized. I find it truly remarkable that 5 years ago I could use an 8GB MBP with no issue, and now with a 16GB MBP I get daily warnings about running out of space, because of RubyMine (I get it), Discord, and Chrome.<p>Maybe instead of writing all these articles about how JavaScript is great and the new-wave, actually writing apps that can stay bounded to 250MB memory?
It seems to me like there's a high chance <i></i>Catalyst<i></i> will take over macOS development for a lare part. If Electron works with that, maybe. If it doesn't I think that will significantly hurt its popularity with Apple ecosystem developers.