As software engineers we have a responsibility to pick the right tools for the job. In fact, that’s the most important choice we have to make when we start a project. When you choose Electron you get:
- An entire copy of Chromium you’ll be shipping with your app
- An interface that looks and feels nothing like the rest of the user’s OS
- One of the slowest, least memory efficient, and most inelegant GUI application platforms out there (remember, we tolerate frontend web development because we have no choice, not because it is by any means good)
Let’s go over some case studies.
lossless-cut is an Electron app that gives you a graphical UI for two ffmpeg flags. Seriously, the flags in question are -ss and -t. No really, that’s literally all it does. It doesn’t even use ffmpeg to decode the video preview in the app, it’s limited to the codecs chromium supports. It also ships its own ffmpeg, so it has the industry standard video decoding tool right there and doesn’t use it to render video. For the price of 200 extra MiB of disk space and an entire Chromium process in RAM and on your CPU, you get a less capable GUI that saves you from having to type the -ss and -t flags yourself.
1Clipboard is a clipboard manager. In Electron. A clipboard manager. In order to show you a list of things you’ve copied, it uses an entire bundled copy of Chromium. Also note that despite the promises of Electron making cross platform development easy, it doesn’t support Linux.
Collectie is a… fancy bookmark manager, I guess? Another one that fails to get the cross platform value add from Electron, this only supports OS X (or is it macOS). For only $10 bucks you get to organize your shit into folders. Or you could just open the Finder for free and get a native UX to boot.
This is not to mention the dozens of companies that have taken their websites and crammed them into a shitty electron app and called it their desktop app. Come on guys!
By the way, if you’re the guy who’s going to leave a comment about how this blog post introduced you to a bunch of interesting apps you’re going to install now, I hate you.
Electron enables lazy developers to write garbage
Some Electron apps don’t suck
For some use-cases Electron is a reasonable choice.
- Visual Studio Code, because it’s a full blown IDE with a debugger and plugins and more. It’s already gonna be bloated.
- Soundnode, because it’s not like any other music service’s app obeys your OS’s UI conventions
Uh, that’s it. That’s the entire list.
Articles from blogs I follow around the net
This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools. I moved to a new apartment mid-October and had lots of work to do there, so I didn't have the time for creating the October status upd…via Writing an OS in Rust December 2, 2019
Since 2016, thousands of Gophers around the world have helped the Go project by sharing your thoughts via our annual Go Developer Survey. Your feedback has played an enormous role in driving changes to our language, ecosystem, and community, including the…via The Go Programming Language Blog November 20, 2019
I’ll soon be working full-time on open-source software! I’m pleased to announce that I’m joining Sourcehut. Huge thanks to Drew DeVault for making this possible. I also want to thank everyone supporting Sourcehut and allowing it to grow. Being able to do …via emersion October 15, 2019
Generated by openring