10 ms·
> Electron applications are shite in comparison with proper native applications. They fail to integrate with the host platform, they are slow, they hog memory
by newhere420 9y ago
> Electron applications are shite in comparison with proper native applications. They fail to integrate with the host platform, they are slow, they hog memory and drink power.
Are they though? The two applications that use the most energy on my Mac - by far - are Steam and Skype. Steam still has trouble with HiDPI and freezes when performing various UI interactions. The number of problems with Skype are uncountable.
I'm currently booted into Windows for work, looking at my current process stats, the top memory consumers are:
* Visual Studio (hodge podge of all kinds of things, 800MB)
* Chrome (215MB)
* Microsoft Intune (presumably native, 114MB)
* GitHub (.NET WPF application, 108MB)
* Explorer (native, 103MB)
* Search Indexer (native, 107MB)
* Lync (who knows, 98MB)
Meanwhile, the supposedly terrible Electron apps:
* Spotify - 58MB
* Slack - 93MB
* VS Code - 60MB
As far as interfaces go, Spotify, Slack and VS Code easily outclass GitHub, Visual Studio, Explorer and Lync in usability.
- frik 9y agoSteam always used a HTML renderer, even in its 2006 first incarnation. Nowadays it uses the same CEF (chrome library) as electron uses. So Steam was one of the first "Electron" apps. A very first one was Windows Explorer as of Shell update that came with Internet Explorer for Windows 95 (included by default in Win98). All the sidebars of Explorer were HTML based.
- gant 9y agoNo, VGUI is not HTML. Here's a fun one. Start Steam with `-dev` and hit F7. Widget factory VGUI edition! Oh also, https://developer.valvesoftware.com/wiki/VGUI_Documentation https://developer.valvesoftware.com/wiki/VGUI_Documentation
- frik 9y agoHave I talked about VGUI? No. Valve used a very ubscure/niche HTML render engine initially for Steam (2006). The company/website behind that isn't online anymore. An older version of the Wiki had some brief info, but all these info vanished.
- gant 9y agoStop spewing bullshit. Here's an old revision from 2005 by a Valve employee confirming Steam used VGUI back then. https://developer.valvesoftware.com/w/index.php?title=VGUI_Documentation&oldid=1089 https://developer.valvesoftware.com/w/index.php?title=VGUI_D...
- frik 9y agoIt talks about the Steam overlay. Parts of the Steam application were always HTML. First the little known HTML renderer from a defunct company, than Trident and later CEF. search for HTML: http://www.plastic-warfare.com/SteamUIGray.zip http://www.plastic-warfare.com/SteamUIGray.zip Funny how the old things stay online. Notice also the cyber cafés menu entry. http://www.steampowered.com/status/game_stats.html http://www.steampowered.com/status/game_stats.html
- smitherfield 9y ago>A very first one was Windows Explorer as of Shell update that came with Internet Explorer for Windows 95 (included by default in Win98). All the sidebars of Explorer were HTML based. That's a stretch; X/SG/HTML user interface APIs are not the same as a whole browser with Javascript VM, full networking and security stack, full-featured/standards-compliant (X)HTML/CSS rendering engine plus support for legacy features, UI assets, multimedia support, sandboxing, resource caching/persistence, and so on.
- frik 9y agoWin95 with shell update up to Windows Me and 2000 had the full trident engine (same as IE 3-5.5) in the Shell (Active Desktop, Explorer bars, etc.). Windows ME/2000 can play audio and video previews in the side bar (all HTML based). Also WinXP used a forked Trident engine with some removed features for "Software" dialog and various other features (Windows Help, etc).
- jbeja 9y agoComparing full blown browsers and IDEs with their anemic counter parts? Seems legit.
- jbeja 9y agoComparing full blown browsers and IDEs with their anemic counter parts and friends? Seems legit.
- RedCrowbar 9y agoEach Chrome (and Electron) app instance is a group of processes. You are probably just looking at the main process, while the bulk of RAM/CPU use comes from the renderer processes. Here are stats on my (Linux) box: * atom - ~500MiB (one window) * slack - ~816MiB * chrome - ~935MiB (two tabs + hangouts) * google music electron app - ~500MiB
- flamedoge 9y agoAt least if one crashes it wont bring down the Chrome stack.
- newhere420 9y agoNope, those figures were after adding up all the processes. What I have noticed in switching between platforms is that applications tend to report a far lower memory usage in Windows than on Linux or OS X. Might just be an accounting difference. Forked process applications in particular are very difficult to account, because even their private/RSS may be COW from another process.
- RedCrowbar 9y agoMy figures exclude shared memory and are calculated as VmRss - Shared from /proc/<pid>/statm. If you are using Windows 10, your missing Atom processes will be under Background Processes in Task Manager. For the sake of the argument, I just did a fresh install of Atom and this is what I see on the first run: https://i.imgur.com/0ZRSumF.png https://i.imgur.com/0ZRSumF.png. ~220MiB (no files open, zero extensions).
- Klathmon 9y agoThat's really interesting! I have an up-to-date atom install that i've been adding plugins to for about a year now (up to like 50 or so), and has been running for at least 12 hours (windows 10), and currently has 7 ~500 line files open. Adding up all the processes' (7 of them) private memory gets me 194mb.
- RandomBookmarks 9y agoYou need to compare apples to apples: The right benchmark for VSCode is not Visual Studio, but Notepad++ (5.9MB on my system right now).
- user5994461 9y agoThe right benchmark for notepad++ is not visual studio. It's notepad2. Notepad2 = 1792 kB. P.S. Pay attention, this is kilobytes, not bytes :D
- Klathmon 9y agoBut it's impossible to do a real apples-to-apples comparison, because I use Atom more like an IDE than I ever did with notepad++, and Atom has magnitudes more features for me than notepad++ ever did and most likely ever will. I don't care about the difference of 175mb of ram between the 2 as one of them (atom) is infinitely more useful for me than the other (notepad++)
- seanmcdirmid 9y agoVS Code has way fewer features than Visual Studio, especially for C#/.NET development. VS Code is a minimalistic IDE, very useful, especially for javascript development where tooling is quite minimal anyways. But let's not think that VS Code outclasses visual studio.
- JasonSage 9y ago> As far as interfaces go You missed this qualifier in the parent comment.
- LeoNatan25 9y agoVS Code is not an IDE in the classic sense of what IDE is - integrated development environment. It's a text editor with some debugging extensions. I don't think it is even comparable to Visual Studio at all.
- smitherfield 9y agoIMO it qualifies as an IDE for Typescript, and borderline with Javascript — slightly better than WebStorm in the former case and slightly worse in the latter — but not so much other languages.
- krisdol 9y agoThat line is getting really blurry with both Atom and VSCode. Haven't used VSCode, but the only feature I recall missing in Atom right now is refactoring; and to be fair, last time I used a real IDE (XCode), I couldn't refactor there either.
- LeoNatan25 9y agoFor me, refactoring is something that is nice to have, certainly, but not what defines an IDE. The debugging and development facilities are what matter most.
- krisdol 9y ago
- hashhar 9y agoMost of the Electron apps use multiple processes so you'll want to add up all their instances.
- Klathmon 9y agoAnd simply adding up all the processes will count all the shared memory multiple times (which will greatly inflate the "final number" to much larger than it really is)
- grinich 9y agoAnother one for your list: Nylas Mail. We straight up would have not shipped it without Electron and the CPU it uses to sync is on-par with apps like Apple Mail & Thunderbird.
- LeoNatan25 9y agoNylas Mail > Nylas Mail - The best free email app | Nylas - The best free email app What exactly makes it "best"? It looks to offer nothing more than other "best" mail apps.
- grinich 9y agoHard to answer your question without hijacking the thread, but here goes: • It's got pretty much all the power features out there like Snoozing, Open Tracking, Send Later, Reminders, Enriched Contacts (i.e. Rapportive), Unified Inbox, Swipe Actions, Templates, etc. • It's open source and super easy to extend with JavaScript plugins. Developer have made dozens of themes and some cool plugins including PGP, Unsubscribe, Translation, Todoist, Trello, Markdown, etc. • It's cross-platform for Mac, Windows & Linux with custom UI styles for each. • It works with all mail providers including Gmail, Yahoo, iCloud, Outlook and even vanilla IMAP and on-prem Exchange servers. • It syncs your data directly (not via a cloud service) for speed and security. • It works offline, so you can use it on a plane or when you don't have WiFi. • It's open source GPL available on GitHub with >20k stars: https://github.com/nylas/nylas-mail https://github.com/nylas/nylas-mail • It's free. It's also still improving and has over 800 GitHub issues and we would love help from anyone who wants to make email better! :)
- philliphaydon 9y agohttp://imgur.com/a/Ofyei http://imgur.com/a/Ofyei Chrome kills me. :(
- LeoNatan25 9y agoStop using it. Both Firefox and Edge have come a long way. I recently dropped Chrome and have not looked back.
- egorst 9y agoFor me (I open a lot of tabs), Chrome is unusable without 'The Great Suspender' extension
- user5994461 9y agoMac is a third class ports for these software. They never got optimized like on windows. Not a fair comparison. With electron, every OS is a third class port.
- jscholes 9y ago> * Spotify - 58MB Maybe for one of the processes, but on Windows Spotify needs at least three processes usually to run (five if you count the Web Helper and Crash Service which are probably native code). On my machine the three main Spotify.exe processes take up at least 170MB of RAM, often more. Although I wasn't aware they were using Electron as their app has a standard, native Windows menu bar.