4 ms·
Companies that need to create apps for multiple platforms (macOS, Windows, Linux, web browsers) have a choice: A) Create separate apps for each platform B) Ma
by FinalBriefing 4y ago
Companies that need to create apps for multiple platforms (macOS, Windows, Linux, web browsers) have a choice:
A) Create separate apps for each platform
B) Make one app that can run on all platforms with minimal changes
Electron is a very popular way to build a webapp and make it look like a real "native" app. It is great in concepts: companies can build one app, and they only have to make minor changes between platforms.
In practice, Electron apps hog a lot of memory and can appear slow. Electron is basically a web browser rendering a web page. When you have your regular web browser running, along with a handful of Electron apps, you're really running several comletely separate web browsers all at once. On top of that, Electron is built off of Chrome, and Chrome is a huge memory hog.
So, companies that create Electron apps go that route to save time and resources, hogging up users' resources. For 1Password, it's supposed to be a tiny app the mostly just lives in your OS's menubar or taskbar with a minimal UI until you need to open up the larger window. Instead, there's a whole instance of Chrome soaking up memory in the background while your app is idle.
- SOLAR_FIELDS 4y agoCurious from a theoretical standpoint - isn't one of the downsides of Electron that it's standalone and not really designed to be shared between different instances of the same thing? For instance, Slack is a famous Electron app as well as Zoom. If there were a framework where they could share common resources couldn't it be as theoretically efficient as having separate tabs in Chrome? I know we are well beyond something being possible in practice that does something like this, but it feels like it could be theoretically possible to use way less resources doing something like this.
- IceWreck 4y ago> as well as Zoom afaik zoom is written in Qt
- trinovantes 4y agoMultiple apps may ship different Chrome versions and may depend on their individual features or lack thereof It might also be a security risk: how do you prevent one app from shipping an infected Chrome 104 that will steal the secrets of another app? Overall, it just seems simpler to not worry about any of these issues by shipping isolated binaries
- krainboltgreene 4y ago> In practice, Electron apps hog a lot of memory and can appear slow. This almost never has anything to do with electron and everything to do with the development of the application. > Electron is basically a web browser rendering a web page. When you have your regular web browser running, along with a handful of Electron apps, you're really running several comletely separate web browsers all at once. ... Instead, there's a whole instance of Chrome soaking up memory in the background while your app is idle. This is just not true.