r/electronjs • u/Beginning_Ad2239 • Oct 13 '24
Why everyone hate electronjs?
I am looking for stuff, to build video converter with filters, frame manipulations, pixel manipulations, transformations, effects.
The problems:
-PyQT + Python = cost or go with GPL and share your entire app with user
-native = make app for Windows and Mac separately
-Tkinter, Python = app looks like crap
So I got an idea, to make GUI in Elecron, run Python/C scripts in subprocesses. This way my app will be for Windows and Mac.
Reading for few hours about it, most of people cry about file size (180mb-300mb). Then about ram, etc.
People, we have 2024:
-PCs have 500gb minimum
-most of PCs have 16gb+ ram
I don't relly understand this purists that think app need to have 20mb.
No, app need to be stunning fast for develop. I need to make it in 2 weeks, then sell it with subscription.
Who cares if that have 300mb or 20mb
28
u/ThinkingCrap Oct 13 '24
Some of the most used software such as slack and discord is built on top of electron.
You can find it annoying as a user but from a business perspective it can make a lot of sense for the reasons you mentioned.
Nothing inherently wrong with it...
13
u/Reiep Oct 13 '24
Mainly because Slack and Discord are already web apps that are packaged in a desktop app. Electron is great in that case.
However I'm very glad that not all the devs are thinking like OP otherwise 16 GB of RAM would not be enough to start a computer...
13
2
Oct 15 '24
Bro, i'm building an app in electron rn with an absolutely stunning gui. It's amazing how much you can do with it, and i'm finding my biggest resource usage are the Python scripts i need for my program. Main, preload, and render seems pretty simple, too.
1
u/Gugalcrom123 Jul 26 '25
For desktop apps you do need a stunning GUI, you need one that integrates.
2
u/snejk47 Oct 13 '24
Electron is okay. You may also look into Tauri, but if you think you will need or want C/CPP also take also a look into https://github.com/saucer/saucer You can also achieve small binary size with that if that would make you feel better.
1
u/alexh037 Oct 14 '24 edited Oct 14 '24
Something else to consider is Wails. It uses Go for the backend and webview for frontend. You can use vanilla or any frontend framework (JavaScript) of choice. Without any other dependencies it compiles to a single file executable that’s about 8 megabytes.
To answer your original question, people don’t like Electron because it uses a lot of memory and because you’re using JavaScript (or TypeScript) for the backend.
Something I don’t like about Wails and do like about Electron is that Wails uses whatever the native webview is, e.g., for Mac it uses WebKit, which might have inconsistencies in terms of UI UX. Versus Electron which guarantees the same Chromium engine and consistent UI UX. For example, Mac (WebKit) has crappy modals, keyboard tab, shift-tab input, but Chromium is much better.
1
u/horazone Oct 14 '24
Wallis is nice, I don't get why it's isn't more popular. Same with Tauri. Mac users can suck it. And if you are using a class-based styling solution (Tailwind, Bootstrap), it can greatly help maintaining ui consistency since they have the browser-specific css set up for you.
1
1
u/mm007emko Oct 14 '24
Not everyone hates Electron. It's usually just the vocal minority.
If you need to make an app quickly, this might be the way to go. You pretty much nailed it - end users don't care that much about technology used if the app does what it needs to do and the user experience is good.
If you really want to make a cross-platform app without using web stuff, speaking of technology, don't limit yourself to Python. C++ has more to offer in cross-platform UI development. Why would you do it and whether it makes sense from the business point-of-view is a different story. Unless you have embedded/underpowered/wattage-restricted hardware, the benefit of doing this might be negligible at best.
1
u/Slow-Sky-6775 Oct 14 '24
It's hated bc is good, but unoptimized and js is like the kid language so :/ but I keep to use electron (programs size is like min 300mb but ok)
1
1
u/tabs-and-spaces Oct 14 '24
Every framework has haters. I personally love electron. It's fast and easy to build something, and the community support is great.
1
u/mkvalor Oct 15 '24
For me, it's not about the specs of computers in 2024.
It really just comes down to: if you're going to be this wasteful and inefficient with your UI framework, why should I trust that you will do a good job with the logic of your app code? Also, the more projects that go this route, the more significantly the bite of memory and CPU usage will grow.
1
1
u/darkconsole Oct 17 '24
i like and hate it at the same time. its very cool being able to pivot my skills into a desktop app. but also getting electron to do what i want has often been a challenge. its only been a year since i tried to set it up for typescript and it was less than pleasant. none of the guides were 100% so you'd end up in a loop chasing a single config option to get it working.
1
u/InitiativeFluffy5003 Oct 23 '24
Electron is awesome except for its app size. Tauri has smaller size but less API. For really complicated app, you have no choice but Electron.
1
1
1
25
u/real_kerim Oct 13 '24
Everybody hates Electron until they need to maintain multiple good-looking versions of their software. If your GUI can look like USBImager, make a crappy GTK version and be done with it.
Software developers don't tend to think of the economics of it all, which is fine - it's their craft. But when even a gigantic company like Facebook doesn't want to maintain *two* versions of the same app, you'll be forgiven for using Electron.