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

I disagree. I remember using lots of GUI apps within a 96MB budget 25 years ago -- even browsers.

Electron does not provide that much more desired features than apps from 25 years ago.




> Electron does not provide that much more desired features than apps from 25 years ago.

That's true, but advanced GUI features aren't Electron's selling point. It's used because it offers easy portability and the ability to leverage web-dev skills.


What does Electron offer in terms of portability that SDL2 doesn't have?


SDL is intended for gaming and similar applications, it isn't intended for general purpose GUI development. That's what toolkits like Qt and GTK are for. These toolkits do compete with Electron.

With the disclaimer that I don't know a lot about this: Electron has solid support for both desktop and mobile targets. I don't think Qt's mobile support is as good, but I might be mistaken.


The larger point is ease of use


Fine, "What does Electron offer in terms of easy portability that SDL2 doesn't have?"


Accessibility would be my immediate thought, although I'm not massively experienced in terms of GUI programming, so I could be off the mark here.

With something like SDL2, I would have to interface with each operating system's accessibility API directly, in such a way that's not easily portable, unless I bring in a separate library. Even something like GTK has this problem on platforms other than Linux. With Electron, I know that my program will be accessible wherever Chromium's rendering of HTML is accessible, which is a lot more places than anything I'm going to be able to bodge together.


You can make a very decent Electron app with roughly (roughly = ~2x or less) that amount of RAM too if written well, for that you get pretty much a codebase that you can use everywhere, which on it's own is _massive_.


I've noticed Signal Desktop only uses 100mb. That is quite good for an electron app. A simple server-side node process will use at minimum ~20mb, which obviously does not include a browser.

It's open source, I've been meaning to poke around and see what they are doing differently.


Signal desktop runs as multiple processes. Did you add up all their memory consumption? On my Debian laptop, Signal processes consume about 700 MB of RSS in total, immediately after starting.


There's no secret really, just don't import junk dependencies like most people do and spend some time inspecting your memory usage every now and then, with very little effort you'll probably cut down on your memory usage significantly by doing that. With a lot more effort often you can probably even make something faster than uses less memory than a supposedly native app (if they spent less time than you optimizing it).




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

Search: