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
For the third year in a row, the Go team and contributors convened the day before GopherCon to discuss and plan for the future of the Go project. The event included self-organizing into breakout groups, a town-hall style discussion about the proposal process…via The Go Programming Language Blog August 15, 2019
This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools. Since I'm still very busy with my master thesis, I haven't had the time to work on a new post. But there were quite a few maintena…via Writing an OS in Rust August 2, 2019
Generated by openring