Hacker News new | past | comments | ask | show | jobs | submit login

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.




Slack 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.


The new Slack app, introduced last month, makes using it feel snappy. It also uses significantly less RAM.


See this in regards to the new Slack application: 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-e1464d...,


> It makes cross-platform desktop development much easier.

That is literally how Adobe Air was billed


Except 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.


Except 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.


Except to run Electron applications you need to distribute the open source Electron runtime.

Just so happens that it's shipped with every application.


True. 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.


> 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.


What 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.


I 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.


VSCode 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.


VSCode 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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: