4 ms·
People can mount whatever defense they like of Electron, but the bottom line is, I think twice before I adopt any new Electron app. My daily drivers are a deskt
by apatters 9y ago
People can mount whatever defense they like of Electron, but the bottom line is, I think twice before I adopt any new Electron app. My daily drivers are a desktop replacement with 8gb of ram and an ultra-portable machine with 4gb.
On 4gb it only takes a couple of Electron apps to eat half of my ram or more. Factor in the OS and a browser or two and it's already swapping. These are often just chat apps or something, they may be good apps but they aren't doing anything fundamentally new and whatever they replaced probably needed <100mb of ram.
It used to be that developers published minimum and recommended system requirements for their program. Maybe Electron developers need to start disclosing that 4gb ram is the minimum to use their apps and 8gb is recommended.
There don't seem to be many benefits I get from an Electron app that I couldn't be getting by just running Chrome in app mode with a dedicated profile (which consumes a lot less ram).
I would prefer to see developers release a web app first and then perhaps offer an Electron version if you've got ram to burn.
- owaislone 9y agoI think Electron devs really need to step and try to address the performance problems but even if they do, I don't think it'll help much since they have to allow full web platform to run. Electron has brought so many apps to Linux that devs otherwise wouldn't even consider so I'm happy about that. On the other hand these apps have major performance problems. Especially the ones that I've to leave running in the background. I think a better platform could be a highly stripped down version of web to the point where it is not even web anymore but still familiar and simple to use. Kind of like what Flutter did (Desktop support in flutter would be pretty great actually). Either that or a serious react native platform/framework that focused on Desktop computers.
- stuaxo 9y agoIt seems unlikely - electron developers are going to understand how to use browsers, but fixing the browser itself is the way to make it use less RAM. Maybe if they switch to Servo it might use a little less RAM, but inherently it's always going to be pretty heavy.
- owaislone 9y agoI don't think servo will help much in the long run. It's just that web is too complex a platform with tons of APIs, technologies and edge cases to support. Any full fledged web engine will always be heavy. I think Electron (or something that wants to displace it) should give up on support web platform on Desktop, pick a limited subset of it and run with it. Yes, we won't have the ability to bundle web apps as desktop apps anymore but that's exactly what will fix the mess. We don't need a way to turn a website/webapp into a desktop app. We need a way to make it very easy to port a webapp to a desktop app will little effort. The key is to make the knowledge transferable, not the actual code as is.
- tjpnz 9y ago> electron developers are going to understand how to use browsers, but fixing the browser itself is the way to make it use less RAM. This to me is the crux of the issue. Github has a lot of great engineers but they're less likely to be versed in C/C++/whatever else is required to make this kind of thing truly succeed. It really begs the question of what Microsoft were thinking the day they decided to build Code on it.
- giancarlostoro 9y agoMicrosoft is thinking of portability as a primary. Also VS Code is a way better experience than Atom after having given Atom many chances. Microsoft wants to build tools anyone can use to enhance usage of their cloud platform offerings from any OS.
- jsmeaton 9y agoThey’d already built a web based editor for cloud dev and ported it to electron as a desktop app afaik. They didn’t set out to make an electron editor.
- deleted 9y ago[deleted]
- raverbashing 9y agoI wonder if we'll see a Mozilla engine based Electron (or simply not the latest Chromium engine, which gets bigger and slower with every passing day)
- hobofan 9y agoSee https://github.com/browserhtml/browserhtml https://github.com/browserhtml/browserhtml
- dblohm7 9y agoWe had a project going called Positron but I think it was mothballed.
- roryisok 9y agoCheck out qbrt, a gecko app runtime by a mozilla engineer https://github.com/mozilla/qbrt https://github.com/mozilla/qbrt I really hope it sees more development
- kevingadd 9y agoxulrunner was effectively that a long time ago, and many apps shipped using it, but it got shot in the head. There are a couple apps still out there using forks of it, I think.
- IronBacon 9y agoOne is TomTom's Home Route Planner, I'm pretty sure it's based on Xulrunner, I need it to update my car's navigator system. Unfortunately it works only on Windos and Mac...
- saas_co_de 9y ago> the latest Chromium engine, which gets bigger and slower with every passing day what?!?
- znpy 9y agoAs far as I've seen, most electron-based applications do not share the electron runtime, but bundle everything they need into the installer. So yeah, we all are basically holding two or more copies of slightly different version of the electron runtime.
- oliwarner 9y agoI think the most frustrating thing here is it doesn't need to be this bad. Rendering HTML and running a JS VM might seem like a long way around to get a desktop interface, but you're reading this in just that context, alongside a couple of dozen tabs, many running webapps with complexities to rival Microsoft Word '97. You're not using 4GB per tab; you probably aren't even getting up to 4GB with all your tabs. Electron can do better.
- roryisok 9y ago> Electron can do better Think of electron as a single tab open in a browser instance. If you open 12 tabs in chrome, it doesn't use 12x the RAM, because most of the initial RAM is used maintaining the browser instance, not the rendered tab. most electron apps don't have "tabs" but if they did they wouldn't multiply the memory usage either
- oliwarner 9y agoWhile I understand your shared-memory argument, Electron in this example, is using twice what Firefox is using for 3 webapps and another dozen tabs.
- roryisok 9y agoThree Web apps and 12 tabs might not be the equivalent of that one app in Electron, if it's a heavy one. If a Chrome browser instance running Slack uses less RAM than the Slack Electron app does, __then__ we can say Electron uses more RAM than it should. I'm not saying it does or doesn't, and I'm not defending it, I just think we need to be a little more fair with our comparisons I did a comparison a while back (though I'd hardly call it scientific). I built a basic "hello world" Electron app, which consumed 69MB of RAM on Windows 10. When I opened the html file of that app in Chrome it took 82MB.
- pvdebbe 9y agoAs a developer I see tremendous value in Electron and how fast you are able to get prototypes up and running. I am also highly relieved that my desktop software doesn't have to run in the background like a chat application or an editor does. I can get away with Electron, by my standards which are similar to yours, because I run my software "in focused mode" only and close it when I'm done. (Image gallery / gallery editorial)