DEV Community

Discussion on: What's the most wasteful software?

Collapse
 
tobiassn profile image
Tobias SN

Electron. I mean, I don’t mind it all that much if a full fledged app that I use a lot uses it, but the moment you use it for an app that flashes disc/disk images, you loose all hope from me.

Collapse
 
jheld profile image
Jason Held

Based on the feedback from here, sounds like a potential takeway is that electron (like many other powerful foundational tech) can be a poor choice for the runtime of some apps. Perhaps electron can be further optimized (I don't follow it in the slightest).

Collapse
 
roh_mish profile image
Rohan Mishra

The main issue with electron apps is that the UI is rendered using a full web browser, and chromium at that. Running nodejs while still heavy isnt even a significant part of the electron app runtime. Switching out to something that is more optimized for this use is an option but then it looses its key attraction of using HTML/CSS to develop your app.

Collapse
 
hackergaucho profile image
Hacker Gaucho

difficult is to find an alternative to Chromium. even tried to put Electron in different engines like Chrome that uses WebKit on iOS instead of Blink.

however, with Microsoft adopting Blink as edge engine this year it's hard to imagine a better option than Chromium to use on Windows, MacOS, and Linux that doesn't even have a standard on all its multiple distros.

Thread Thread
 
jheld profile image
Jason Held

I find many people don't consider using firefox for their base. Curious why not? Not even talking electron, just saying.

Thread Thread
 
rhymes profile image
rhymes • Edited

Because, and I say it as a Firefox user who loves it, embedding Firefox sucks 😂

Seriously speaking, Mozilla documentation is largely obsolete on integration and AFAIK the new engine has no embeddable library.

I'd imagine over the years, with more limited resources than Google and Apple, Mozilla had to decide what to focus on.

Collapse
 
ben profile image
Ben Halpern

Oh yeah Electron definitely qualifies.

Collapse
 
bnb profile image
Tierney Cyren

From your perspective, what makes it qualify?

Collapse
 
rafi993 profile image
Rafi

Has anyone tried github.com/ImVexed/muon

Collapse
 
hackergaucho profile image
Hacker Gaucho

I don't agree with that. if electron is a waste then vscode, atom and skype for example are also since they are built on electron.

Collapse
 
sergix profile image
Peyton McGinnis

Electron is useful if the application itself has a reason for using web technologies (e.g. simple extensibility using TypeScript), which should be obvious but too many applications are using it when C# would actually be easier/more performant.

Thread Thread
 
hackergaucho profile image
Hacker Gaucho • Edited

nowadays performance is no longer so important, most new modern machines already have at least 2GB which is more than enough to run a chromium with nodejs.

what I realize is a great prejudice against electron coming from those who use macOS and are accustomed to high performance native solutions. linux users or even windows users doesn't care much about it.

whereas macOS users represent less than 15% of the desktop segment I see no reason for the rest of users to act with the same prejudice.

in short: if 63% of machines are able to run chrome/chromium with v8 it is capable of running electron very well.

Thread Thread
 
roh_mish profile image
Rohan Mishra

most new modern machines already have at least 2GB which is more than enough to run a chromium with nodejs.

True, but that's enough for maybe one app. I am a linux user myself and am thankful for electron since it brought many apps to platform that otherwise wouldn't run on linux. It makes creating desktop apps easier.

Its easy to say using a high end modern desktop that electron is fine but using a cheap laptop like HP Stream or a really old laptop, those apps are a pain to use. VSCode plus a few tabs in firefox makes my laptop unresponsive frequently.

electron is great for apps from smaller companies in that it allows you to deploy apps to desktop using single codebase but apps that can use 1/4 resources and are run by so many people is a waste when companies can easily invest in making better apps.

Thread Thread
 
hackergaucho profile image
Hacker Gaucho • Edited

VSCode plus a few tabs in firefox makes my laptop unresponsive frequently.

i recommend that on more modest machines use firefox as a browser and install a tab limiter. I also recommend that you exchange vscode by atom with zentabs and try to keep at least the amount of installed plugins.

is a waste when companies can easily invest in making better apps.

It is not enough to have money, you need to have a huge human capital qualified to create an open source project such as electron, atom or vscode in closed code.

if a large company like Github or Microsoft does not have or is unwilling to invest in human capital it needs to invest in languages and platforms that are more popular and accessible to the open source community.

Collapse
 
tobiassn profile image
Tobias SN

Electron. I mean, I don’t mind it all that much if a full fledged app that I use a lot uses it,

Collapse
 
dexygen profile image
George Jempty

Um, Slack is built on Electron and when sitting idle can consumer over 0.25 GB of RAM. If that's not wasteful, I don't know what is.

Thread Thread
 
hackergaucho profile image
Hacker Gaucho

try to find someone willing to develop compiled cross platform desktop software for free and you will understand what the real purpose of electron is: not to be more performative but to be easier to develop and maintain.

Thread Thread
 
dexygen profile image
George Jempty

Your argument holds no water considering Slack certainly was not developed "for free".

Thread Thread
 
hackergaucho profile image
Hacker Gaucho • Edited

just because the application was made in closed source does not mean that your platform and the libraries used are also closed source.

Thread Thread
 
dexygen profile image
George Jempty • Edited

You're actually just making my argument for me. I seriously think you need to take the blinders off. Sure Electron can be useful, but it often leads to bloat-ware. It's probably appropriate for small/medium teams consisting primarily of web developers who need to develop something for internal use or for a small user base.

For software being developed by large enterprises who could easily find the talent with the necessary experience in technologies that are orders of magnitude more performant, than there is just no reason for it. Go ahead and feel free to have the last word if you must, but a) I think you are wrong and b) I won't be responding any further. Have a nice day.

Thread Thread
 
hackergaucho profile image
Hacker Gaucho • Edited

It's probably appropriate for small/medium teams consisting primarily of web developers who need to develop something for internal use or for a small user base.

if this were the case there would be hundreds of apps running over Electron and being used by thousands of users.

For software being developed by large enterprises who could easily find the talent with the necessary experience in technologies that are orders of magnitude more performant, than there is just no reason for it

as I have already answered for the @sergix above:

It is not enough to have money, you need to have a huge human capital qualified to create an open source project such as electron, atom or vscode in closed code.

if a large company like Github or Microsoft does not have or is unwilling to invest in human capital it needs to invest in languages and platforms that are more popular and accessible to the open source community.

did you understand?

Go ahead and feel free to have the last word if you must, but a) I think you are wrong and b) I won't be responding any further. Have a nice day.

dear friend, if you want to get out discussion all right, but don't need to try using a pigeon chess.

please be polite and at least reserve my right of reply, after all, this is a discussion and not a competition of those who give the last word, as the @fronkan wrote above:

I think this question as stated is good for discussion though but it will, in the end, be subjective

don't get me wrong, case I'm wrong I'd be happy to ❤️ your opinion.

sorry if i was too incisive, have a good day too.

Collapse
 
ghost profile image
Ghost

As I see it wasteful doesn't mean useless, could those apps consume less without Electron, of course, are they useless because they use Electron? absolutely no. I haven't use any of them but I've heard a lot of people liking them. Is a Ferrari wasteful? of course, is a bad car? I don't think so.

Thread Thread
 
davidrock profile image
David Rock

I can't agree with you. If something is useful it is not a waste anymore. As soon you declare something useful you can't declare it as waste, that's a pretty simple logic. I can't recall last time I had a problem (related to resources consumption) with Electron based applications.

Thread Thread
 
fronkan profile image
Fredrik Sjöstrand

I have to disagree. It is a large difference between waste and wasteful, like @robertojasr. It can be wasteful by using much more system resources than strictly necessary, however, it can still be a great tool. There is a reason I am using Python, which you could argue is wasteful. You could write the same code in C++ and it would most likely be faster and use less memory. I would, of course, argue you are wasting developer time if there aren't constraints on those resources.

To summarize my thoughts are something like this. If something is waste you should just bin it, however, if it is wasteful you need to look into which resources are wasted. Then you can make a desition on whether or not those resources are constrained in your use-case.

Thread Thread
 
ghost profile image
Ghost

Efficacy/Efficiency, the first is about achieving a given result, the second also take into account the resources required. I could use an helicopter to buy bread two blocks away, the goal is achieved, so is effective, but is arguable very wasteful on inefficient.

Wasteful refers to the useless consumption or expenditure, so everything that doesn't directly contributes to the main goal is waste, something can be wasteful without being a complete waste, which only occurs if the goal is not achieved as you mentioned, but "wasteful" doesn't mean is a complete waste, just that have a considerable amount of resources not directed to the main goal. A Ferrari is wasteful but is far from waste. Even this is arguable tho, because depends on what the goal is, if is to impress people a Ferrari may not be wasteful and in fact be very efficient.

About Electron consuming too much is also debatable, to me it is, I tried for about 10min Atom with my usual 10+ files open and consumed much more than Vim doing the same thing, you can argue that Atom does things that Vim can't, I don't know, to my use case is wasteful because I don't care about those potential extra features. As I said, what is or not wasteful depends on everyone goals and criteria.

But the fact is that not because something achieve the goal is not wasteful and that something is wasteful doesn't mean is waste. Just like that something is dusty doesn't mean is dust. That's pretty simple logic.

Thread Thread
 
ghost profile image
Ghost

@Fredrik Bengtsson, you beat me by seconds, I saw the notification bell just before y pressed the button tu submit.

Collapse
 
markoshiva profile image
Marko Shiva

I agree about electron. Its a full bootstrapped bloated chrome with electron. I don't know what is problem with frontend devs? Probably lack of knowledge and lack of knowledge of computer architecture. I mean not understanding how bad and wasteful that platform is.

As a viable alternate librarby for creating desktop web based apps I can recommend NW.js Gitter use it and its pretty stable. And far less resources wasted.

Collapse
 
hackergaucho profile image
Hacker Gaucho • Edited

is the same thing, NW.js uses Chrome as platform too.

Thread Thread
 
markoshiva profile image
Marko Shiva

Yeah but it do not bootstrap the whole chorine and v8 only one library it's much faster and much less memory needed.

Collapse
 
dylanesque profile image
Michael Caveney

This, there are few programs I get use out of the way I do VSCode, but good lord.....