Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Is Electron That Bad?
8 points by skwee357 on Oct 3, 2021 | hide | past | favorite | 7 comments
I've read every possible thread here and in Reddit regarding Electron. I'm perfectly aware of the drawbacks and reasons people hate Electron. But nevertheless lets bring this topic one more time and this time try to focus on a real example (mine) rather than hypothetical discussion.

I have an idea for an application. It a desktop application. So I'm not porting it from web app nor I plan to make it a web app any time in the future. It being a desktop app is my first selling point.

My second selling point is it being as snappy and as productive as possible. Therefore I try to focus much on keyboard shortcuts, intuitive UI/UX (even though its incredibly hard for me since I'm a developer and not UI/UX engineer).

I'm perfectly aware of proper separation between business logic and presentation layer, know how to use FFI, IPC and other methods to call from UI to a shared BL.

And last but not least - I'm a solo developer. With 0$ funding. Doing this in my free time and eager to make money from it and reach as bigger audience as possible.

Now, given all that, lets try to evaluate my options.

1) Non native cross platform frameworks. This includes QT, JavaFX/Swing, Flutter and others. While they are probably more snappier than Electron apps, you can't really call them native. A lot of the criticism of Electron in terms of UI/UX, can be directed at those as well.

2) Native. This means I need to develop at least 2 different UIs to capture 98% of the market, and being a former Linux user and understanding the struggle of lack of good apps in Linux, I can't ignore that platform. So 3 times the development time, 3 times the bug fixes, 3 times the support.

3) Electron. We all know this one.

While I agree that big companies like Slack, Microsoft or Spotify can (and should) invest money in proper app development for each platform; solo developers like me, rarely have the luxury to do so. So I'm left with either choosing one platform to focus on (in my case its Mac since I'm a Mac user) and ignoring all others (at least for now) or settle on semi-native solutions.

I'm a perfectionist and I have a vision. But because I'm a power user, doesn't mean everybody else is like me. So to all the people who say that Electron is not native and breaks their UI/UX - is this really an issue among non power users, or is it just us, developers, being frustrated (and I share this frustration) over minor issues like keyboard shortcuts or lack of native Mac text fields?



No, it's not that bad. I think most people who complain about Electron are power Mac users, mostly because Apple's UX is different and special, and Electron doesn't always follow that. As a Linux user, i have zero problems with Electron apps, provided they don't waste resources.

In terms of speed and resource consumption, it's entirely up to the app - i use VS Code and Obsidian which are very fast and lightweight (relatively, for what it is, for VS Code).


"It a desktop application. So I'm not porting it from web app nor I plan to make it a web app any time in the future."

Don't use electron.

Unless you are making an app that will majorly benefit from JS-based third party plugins (think how VS code is electron despite not being a progressive web app), there's really no benefit for you to shipping an electron-based app.

Seriously take a look at [maui](https://mauikit.org), I'm considering it for my next GUI projects.


Seems interesting. Documentation seems lacking at the moment. How do you get started with mauikit?


Not 100% sure, most my GUI stuff has been GTK based.

This is a Qt framework and OP has more experience than I with Qt from what I could tell from his post.


1) Having seen a Signal client developed in QT, it was much more performant than Signal Desktop while using significantly less resources.

2) Electron apps don't look native. People are used to this compromise from other frameworks, I wouldn't worry too much about it.

If you really want to look native on Windows & Linux we have had a good time with Dotnet Core, kinda hilarious to use this with other libre components like Postgres/Nginx on Debian but hey, it is very lightweight, straightforward to write and amazingly performant, only Rust or C will perform better.

In spite of all the hate lobbed on Electron, there are good Electron apps out there, Element being my favorite. Using Element alongside Signal Desktop or Teams, its wild to compare the garbage performance of the latter two to Element.

Microsoft and Signal are using the same software stack (Electron, Sqlite) and have significantly more developer resources than Element, but yet only Element is ready to use nearly instantly after opening and has video calling that works flawlessly.

In a similar vein, there is software written in well hated languages like PHP that most people would be happy to maintain & extend since it is well written, as the developers actually care. Often this seems to occur when the developers are directly interacting with the end users often, without intermediaries.


Use QT, with no web views, and native context menus and tooltips that can be shown and modified outside of the DOM.


You don't appear to have the resources necessary for supporting three platforms so… just build a native Mac-only app.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: