3 ms·
It makes cross-platform desktop development much easier. VSCode, Discord, and (the new) Slack are written in Electron, and those absolutely excel, even at the
by bsmith0 7y ago
It makes cross-platform desktop development much easier.
VSCode, Discord, and (the new) Slack are written in Electron, and those absolutely excel, even at the cost of a bit extra memory usage.
There's a circlejerk of Electron hate, but there's a reason it's so popular, the ease of development outweighs its weighty memory drawbacks for many companies and individuals.
Edit: Not to mention that it uses Node.js, HTML, CSS, so moving from web-apps => desktop becomes a much simpler endeavor.
- sixothree 7y agoI don't know why people complain about performance. VSCode is my primary experience with Electron and it runs extremely well. It handles large files just as well as Notepad++. edit: Just to be clear I don't suggest notepad++ is best at large files. EditPad is clearly the winner in that category. But I do mean to say VSCode and N++ are on par with each other. Besides, VSCode provides an incredible amount of functionality. So what if it uses as much RAM as my browser. I routinely run multiple browsers, each with multiple windows.
- vanilla_nut 7y agoVSCode is generally considered to be the canonical example of an Electron app well optimized. They have put a significant amount of work (much moreso than your average company producing an Electron app) into making it very responsive. All you have to do is use Slack or Discord or Atom or Skype and you'll quickly understand why people hate on the performance. Spotify is a good example of an application that doesn't use Electron (though it uses a similar framework) and still manages to be incredibly slow and bloated. As are most websites. So the problem might not be that Electron is slow... it might just be that the web in general is really slow unless you work extra hard.
- inferiorhuman 7y agoVSCode is generally considered to be the canonical example of an Electron app well optimized. They have put a significant amount of work (much moreso than your average company producing an Electron app) into making it very responsive. And it's still significantly slower than something like Emacs or Sublime (or, dare I say, IntelliJ?). I like, and use, Visual Studio code but it's hardly performant.
- JustSomeNobody 7y ago> It makes cross-platform desktop development much easier. For the developer, while the user has to deal with horrid battery and memory consumption. Devs are paid well enough that "easy" shouldn't be a top priority.
- bsmith0 7y agoWhat about the potential technical debt and additional manpower it requires to build out per-platform desktop applications. Easy is a priority for many OSS projects and companies who want to ship something quick and reliable.
- d2mw 7y ago> It makes cross-platform desktop development much easier. That is literally how Adobe Air was billed
- benbristow 7y agoExcept to run Adobe Air applications you needed to install/distribute the proprietary closed-source Adobe Air runtime. Electron is just web technologies wrapped with a library to call system APIs.
- miyoyo 7y agoExcept to run Electron applications you need to distribute the open source Electron runtime. Just so happens that it's shipped with every application.
- benbristow 7y agoTrue. With all binaries you’re going to be running software that’s bundled and you’re unsure what’s going on fully. Send me the source for an Adobe Air application though and I still need to download Adobe Air proprietary tools to run it. For an Electron application I can run it directly from open source tooling.
- inferiorhuman 7y agoExcept to run Adobe Air applications you needed to install/distribute the proprietary closed-source Adobe Air runtime. Electron may be open source in theory, but it's developed by a fairly insular group that actively rejects improvements to portability. Getting FreeBSD patches merged back into Node was hard enough, the Electron crew simply rejects them. Have you ever tried to build something like Electron of VS Code on FreeBSD? It's horrendous.
- packet_nerd 7y agoSlack excels? In my experience it's really slow and clunky and consumes way more memory than it should. As the sysadmin at my company I ban all electron apps unless it's clear they are exceptionally well written and/or there are absolutely no alternatives. VSCode is really good and one of my few exceptions. I strongly suspect it would have been even better if they had developed with a more performant platform, but who knows. Edit: To expand on my reasoning: Say an operation on a well built performant application is 5 seconds faster than the electron (or otherwise bloated) version. Say employees do that operation on average 20 times a day. Say I have 2500 employees who work 246 days a year and get payed $25/h on average. The slow version will cost the company $427,083 every year. That's the amount of money I'd be willing to spend per year for the fast version of this hypothetical application. A company like Slack has hundreds of thousands of users and the poor performance must be costing someone millions. It boggles my mind that with all that money, they still can't find the resources to make a performant application? And that's the naive calculation, there's also the administrative aspect of installing, upgrading, and supporting the application. (The worse the applications quality, the more time I, who am payed a lot more than $25/h, spend supporting it.) While there are multiple variables here, a development team that prioritizes "easy and fast" development doesn't inspire me with confidence they have also prioritized building a quality product.
- applecrazy 7y agoThe new Slack app, introduced last month, makes using it feel snappy. It also uses significantly less RAM.
- bsmith0 7y agoSee this in regards to the new Slack application: https://slack.engineering/rebuilding-slack-on-the-desktop-308d6fe94ae4 https://slack.engineering/rebuilding-slack-on-the-desktop-30.... It's much faster now. Also, I would be hard pressed to find a 5 sec increase in an electron app vs a native app. This article is also worth a read, focusing on why Electron fills a necessary niche: https://medium.com/@felixrieseberg/defeating-electron-e1464d075528 https://medium.com/@felixrieseberg/defeating-electron-e1464d...,
- deleted 7y ago[deleted]
- inferiorhuman 7y agoIt makes cross-platform desktop development much easier. It makes Linux, OSX, and Windows development marginally easier on x86 platforms. Electron leaves everything else out in the cold. Sorry, there's life beyond Linux. Have you ever tried to build VS Code? It's not easy. VSCode, Discord, and (the new) Slack are written in Electron, and those absolutely excel, even at the cost of a bit extra memory usage. VS Code, Discord, and (especially) Slack are all slow resource hogs. There's a circlejerk of Electron hate, but there's a reason it's so popular, the ease of development outweighs its weighty memory drawbacks for many companies and individuals. There's a reason there's a lot of hate, because the "benefits" for the developers don't outweigh the benefits for the end users. Of course sunk cost fallacy being what it is, once an organization commits to Electron the resultant inertia pretty much guarantees they won't aim a bit higher and write a native app.