Because talking about it here completely misses the point. Yes, Electron has a number of problems, so what? This is an app that you open and close within 3 minutes. Open Video Downloader is a very usable software that doesn't have any direct alternatives right now to my knowledge. It's actually a good example of how a great, easily accessible UI framework can enable the creation of cross-platform apps that nobody did in those other "leaner" frameworks until now.
> Why aren't there any real alternatives to Electron?
Because it's not as easy as it seems to create a proper cross-platform framework. And even if there was an alternative, these days you often need rich text, images, videos, etc. all of which are essentially HTML pages. So you'd end up adding a webview anyway, which is getting quite close to being Electron.
And I think that's the key - why create an "alternative" to Electron if you end up bundling webviews, ffmpeg, libpng and so on. It might be a bit smaller in size than Electron but not enough that it matters.
Electron is a tool. It can be used well. It can be used poorly. Any tool shares the same issues. I can write a shit native app and I can write a shit Electron app.
All Electron does is lower the barrier of entry to making an app and making it work cross-platform.
I don't like bad software. Almost every Electron app that I've ever encountered was quite bad. They are laggy. Installers in hundreds of megabytes and installed apps are even bigger than that. Yes, it's not that much on it's own but they compound. Even React Native approach is superior to Electron and it's possible to do better than that while not developing separate native app for every platform.
I really don't understand people who are 'disappointed' with anything that uses Electron. Sure, it's not as performant as a native app, but writing and maintaining a different native app for every platform you wish to target, and then keeping their UIs united, is unreasonable for most people.
I'd be more disappointed if they didn't use Electron.
Electron is not really fast, nor does it generate great GUIs. It's much younger than Qt, only four years old. It's not frequently updated, it uses an insecure version of the Chromium browser. So... not all positives can be applied.
In fact none can be applied except ease of use and it's about the same, until the app grows and one realizes that the typical JS architecture is as easy to structure as a pile of mush.
Electron supporters are really taking the piss in this thread. Slapping together a bunch of statements which can be easily disproved doesn't qualify as an argument.
Yeah, typically users are mildly annoyed by electron applications because they either don't fit into the basic style of the OS or suck away RAM. They stay because of the service, something that is provided (the walled garden usually)
Which is why electron is so popular. I'm sure the whole "it's way easier to whip something together that kinda works" is correct in the short term. You whip something up and rely mostly on the hype and viral marketing to drive your app.
You are making weird moral judgements about desktop app frameworks. There is nothing wrong with Electron, there is no "regression". There is a reason why you're losing this battle, and it's because for many devs developing small apps, Electron is easier. That's it.
What I really can't understand is how people get so heated about tech stack choices like this. We're not talking about civil engineering, we're talking about an ffmpeg wrapper. Electron is just a means to an end. If your alternatives were better at what devs and users cared about, they'd be more popular. Clearly that isn't the case.
You should be excited that frameworks like Electron allow more devs to make powerful tools accessible to the public so quickly. This is what open source is all about!
The problem is even the best examples of Electron apps aren't great and use far more resources than a native counterpart would.
VS Code is an example of Electron being "used well". I still find myself using other apps because they're more responsive. That tells me that Electron is inherently making the app experience worse, despite being used well
I understand the 'why' of electron, I am just not happy with the results at all.
Though maybe the world is better if that barrier of entry isn't lowered, I'm not sure what's better- a shitty app available everywhere or a good app available only on a couple of platforms...
It just runs contrary to a lot of people's ideals for software. I don't spend my time thinking about Electron much but I don't care for it either. I guess it just rankles that it's really the easiest cross-platform solution we have.
> 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.
Electron apps are good because they are as bad as a web site?
Yes I get that different sets of features on different platforms is an issue. But often that is half the point, if everything could be done on a website there is in the vast majority of cases no need for an electron "app".
The problem with Electron is that people are able to identify the framework. If a few popular apps using the same framework have similar flaws, people will then blame the framework.
It happens frequently, regardless of platform and regardless of the underlying platform's actual strengths and weaknesses.
Popular doesn't mean good. In fact Electron is born out of the idea that developer productivity and comfort is everything and performance is a secondary concern.
These apps seem to be popular with device manufacturers. I have the displeasure of using two such apps, both have crap usability and custom UIs that don't make any effort to integrate with the platform. One of them doesn't even respond to the quit shortcut.
We created once an electron based app, on a very simple use case.
It was extremely slow since some bad dev decisions as well since nobody focused on performance. Later optimized it a bit and it was usable. In the end it worked. Features and good look were just ways more important.
I just don't get this attitude when it comes to open source apps given away for free.
Is Electron bloated? Yes. Is it ridiculously heavy? Yes. Is it dog slow? Absolutely. Do I die inside when I see it used? Yes, I do.
Why then do I think Electron is a good thing that I'm glad we have? Because when it comes to open source (aka volunteer work), people use what they know, and nowadays most people are web developers. If not for Electron, people wouldn't use GTK, Qt, or Java, they'd be doing something else with their time and these tools wouldn't exist.
Now that said, while I use several open source electron apps, I would never pay for one. If you want me to buy your software, use something native. Exception being that if you are a web app such as Slack, Discord, etc, then I give you a pass on Electron as long as you're maintaing your web app.
Why, because it's Electron? I thought the anti-Electron stance had been debunked a while ago, that it's not every Electron app that chews up RAM like crazy, etc.
Electron seems like a great way to get a cross-platform app out there without having to hire three separate departments of code developers.
Op did not provide a single example of an Electron app that competes with native performance. When pushed, they became indignant and said that they have personally worked on several snappy Electron apps, which, however are secret. Also, there are apparently no other examples of Electron apps readily at hand.
So we end up where we were, with VsCode as singular example, and in turn, with the distinctive suspicion that the inability of anyone to point to even one decently performing Electron app may just simply be because Electron is not very good.
The downvotes then probably arise from the fact that this argument has been replayed on HN hundreds of times.
I'm not speaking of anything specific. Clearly enough people dislike the experience enough to avoid using apps based on it altogether. That's not my view or experience of electron apps broadly, but I'm single user on a specific setup. My point is less about specific criticisms of electron and more about the fact that dismissing people's experiences with it doesn't really do anything to win those folks over.
reply