3 ms·
When you have a hammer everything looks like a nail. I personally hate electron for multiple reasons. First why would you use web technology to build a desktop
by smilesnd 9y ago
When you have a hammer everything looks like a nail. I personally hate electron for multiple reasons.
First why would you use web technology to build a desktop app? I could understand if their wasn't a cross platform answer like python and java that are high enough languages that even middle school kids can learn to make desktop apps with. Yet lets default to language and markup language specifically design for a client server relationship.
Secondly from my experience electron runs horribly on linux and windows. I can always tell a desktop app uses electron on my desktop not just by the larger then normal amount of resource it takes to do simple task, but because it will randomly crash. It crashes silently and instantly reboots it self and try to act like nothing happen but it happens so often that I catch it when it does.
Thirdly, I am not about to act like I am some type of security expert, but this is just screaming at me security risk. Electron uses at least 4 engines, how and when do they get updated and security patches installed? Can the programmers stop upgrades of these engines to insure that their app will continue running as is? You can argue all things are security risk, but when you put so many complex engines in one app it is bound to make it difficult to keep up with all the security concerns.
I could keep coming up with more and more reasons why electron is horrible solution to a problem that already has solutions. The appear to webs to keep using technology they are comfortable with is horrible reason to justify this Frankenstein of a code base.
- AstralStorm 9y agoYou forgot about multiple incompatible bundled versions of Electron all around. Now that is a real security issue.
- Can_Not 9y ago> python Literally the only advantage of this is the lack of DOM related performance issues. Support for mobile is probably a nightmare and you still have to make the website anyways, so might as well write it once. Also trying to combine cross platform, speed, and 3 sounds like it's own nightmare anyways. > Java Much more practical option, main cons involve large JRE download and I still have to write my website in JS anyways, so why write it twice? React Native really brings the mobile performance up to par that fits 95% of non-game use cases. This next statement is not directly related to the parent comment: I'd like to read more about why eletron alternatives are better (or exist) and less about how electron is slow or some other thinly veiled hand-wavey "bad because js".
- smilesnd 9y ago>python comment - Electron doesn't support mobile so I don't understand this comment. Their are lib for python on mobile good, bad, or evil I don't know. It isn't just a lack of DOM related performance issues it is also V8 performance issues, chromium performance issues, and electron performance issues. When you stack a engine on top of a engine on top of another engine you can't expect to achieve awesome speeds. And if you are making a desktop app why would you even care about making a website of that app? >Java Again if you are making a desktop app why would you also need a website performing the same task? React Native is for mobile apps electron is for desktop apps so I don't understand why you are bring this up as well. Electron exist same reason nodejs exist webbies to scare to learn another language. JS isn't bad, but how people use it makes it bad. I should actually say programmers are to scare or lazy to learn alternative solutions to a problem. It is simpler to use what you already know then to try something else. What does electron bring to the table? A way for someone that know JS, css, and html to produce a cross platform desktop app that is it. You don't gain performance, security, and it isn't the only cross platform solution like Java once was. People use to use Java only because it was the only cross platform solution. It had horrible memory leaks and all sorts of issues that still plague it to today. Yet it was the only cross platform desktop solution of its time. That is why electron is seen as useless to me I know how to program in c, c++, c#, JS, and elixir. I would probably learn python stack if I wanted a cross platform solution to a desktop app.
- ikurei 9y ago> Electron doesn't support mobile so I don't understand this comment. No, but most of the codebase can be reused for the mobile app using phonegap/cordova. > Electron exist same reason nodejs exist webbies to scare to learn another language. I hate this way of seeing "webbies" as a lesser kind of engineer. I've been on both sides, doing low-level development in C, full stack on .Net, and now Node.js, and I choose the tool that better serves me at each point. Many of us choose to use JS/Node/Electron because of practical reasons, not because we are "too scared". You may think we are misguided, and we might very well be, but there's no need to be so smug about it.
- Can_Not 9y ago