5 ms·
I've been heads down in the guts of Electron for the last 120 days so I can definitely speak to this at length. I've been working on a desktop app which is a d
by burtonator 8y ago
I've been heads down in the guts of Electron for the last 120 days so I can definitely speak to this at length.
I've been working on a desktop app which is a document manager for PDF and cached web content.
https://getpolarized.io/ https://getpolarized.io/
The "native" desktop experience is insanely important and I think you can get there with Electron but it's not going to do it for you out of the box.
First. The bloat issue is definitely a real problem. Expect a 100MB app and 100-200MB of RAM usage. You wouldn't want to build calc or anything in Electron.
Additionally, things like context menus are next to impossible to implement properly as they require you to jump back and forth between the node and chromium processes and it's an insane hurdle to jump through.
The upside is that you can do amazing things that you couldn't do before like REALLY nail web content rendering and manipulation and also use frameworks like React or Angular which your team might already have experience with.
If you're an app like Discord being able to ship a desktop app on Windows and MacOS without having to hire native teams is a huge win.
If done right, the UI widgets can 'feel' native but they're never going to be there 100%.
What we can do in the mean time:
- build something like Electron or Flutter that takes into consideration ALL platforms - not just desktop or mobile but BOTH at the same time.
- supports native features when necessary. Electron TRIES to do the right thing but often fails just due to the complexity involved.
- nojvek 8y agoWe just need a React native for desktop that works well cross platform. It’s so stupid that we keep on re-inventing the UI libraries that are already built into the operating system. They arare accessible, high performance and use very little extra memory since the resources are shared. The problem is electron, not JavaScript. V8 folks work very hard to make JavaScript nimble and fast.
- ptx 8y ago> jump back and forth between the node and chromium processes So Electron runs two copies of V8? Since Electron in control of all the components, why wouldn't they try to merge the Node part into the Chromium process, to gain faster data exchange and lower RAM footprint? Has this been attempted?