Hacker News new | ask | show | jobs
by oldcynic 2973 days ago
Depends.

I've downloaded a fair number of Electron apps, and ultimately deleted or aborted the download of most of them. VSC is the one that currently survives.

If it's something that needs most of a browser and HTML - like an email client that cropped up as a Show HN recently, or a client for a wholly online service, Electron may be the right choice.

If it's something more trivial like a notepad, reminder, or timer, Electron is just needlessly making it unfriendly thanks to start time, and memory load. Multiple MBs shouldn't be necessary for a timer or calculator but Electron will make that so.

You may say that we have lots of memory these days, and we do. But I run lots of things these days, and if I have half a dozen such apps running in background I basically have half a dozen instances of Chrome. That's quite an extra load on memory and start times. It's also going to be one of the early casualties if my (or family tech support) laptop is starting to run low on memory.

Last, I think there is something to be said for Electron as an early version while testing, especially while still exploring UI and feature changes as you can focus on that not platform issues. Once you know what is needed, 9 times out of 10, give them a proper native program.

1 comments

> If it's something that needs most of a browser and HTML - like an email client that cropped up as a Show HN recently, or a client for a wholly online service, Electron may be the right choice.

I disagree. These are cases where it's especially bad to use a HTML view as the application UI.

If your application is essentially a HTML page, and it's meant to render content from a foreign source, which is also HTML, JavaScript, what have you - how do you do that? An IFRAME?

You know that Electron apps have lower security sandboxing than a regular web browser right? Who in their right mind would use a web browser to render a html page as the UI of a web browser, and hope that the foreign source page doesn't break out of it's rendered context, to influence the appearance or routines of the 'browser' that loaded it?