Hacker News new | ask | show | jobs
by rococode 2973 days ago
I think it's important to consider what your program is going to do. Discord, for example, uses Electron, and I'm perfectly happy with it (as are most of the millions of others who use it). It's a product with a lot of functionality and it makes sense for it to have slower startup times, higher distribution size, and more memory usage. But if you're planning to make a calculator, then Electron probably isn't the right tool.

That being said, I think the styling thing is a really important point that is often undervalued. I've written UIs in GTK, Qt, and Swing, and perhaps this is close-minded but I honestly can't take anyone who says that they're just as easy as HTML/CSS seriously. I mean, literally just look at how many beautiful websites are out there, and then how many beautiful, not just functional, native programs there are (in my opinion, very few). UX/UI is important, and I think not having to pull your hair out every time you want to move a button to the right 3 pixels and give it a prettier border is a big plus for Electron.

2 comments

I agree, that a good UI is a very important thing in desktop applications and elsewhere. But, to me replacing the border of a button with something "prettier" is usually a UI defect and not an improvement. Desktop environments gain a lot of intuitiveness and ease of use by being consistent. And every damned web designer developing desktop "apps" thinks he has to invent every convention of UIs new, just to be prettier. Usually they loose accessibility, the ability to be used by keyboard and or the ability to render with different color schemes and resolutions. And what do they gain? Pretty borders that serve no purpose and make the UI unfamiliar to everyone.
Discord, Slack and other chat apps are the perfect example of when not to use electron. They should just be webapps.
In fact, I think The Discord desktop client versus Ripcord[0] illustrates nicely how much better a native solution can run.

[0] https://cancel.fm/ripcord/