“If you can build a website, you can build a desktop app.” - this is one of the very first things you are going to read when you open the official Electron website. Sounds like yet another jingle in the “Start speaking Chinese in just 2 weeks” style? Well, even if it does, that’s not really too far from the truth.
In this short article I’d like to take a look at a few popular tools which are built with Electron - I bet many of us don’t even realise some apps we use every day rely on Electron - and try to understand the business and technology reasons driving a particular brand while deciding to go for Electron.
In the first place let’s take a look at Slack - one of the most popular and powerful collaboration tools which, earlier this year, hit 8 million active daily users with 3 million paid ones (not bad, huh?). At startups Slack is a must-have thing and I think it (or any other tool of that kind if you know an equally good one) would dramatically foster collaboration also in most of the ‘old fashioned’ / conservative workplaces (especially various public administration offices). I’ve been a regular, daily Slack user for over two years now and I remember the intense and unanimous staff lobbying for migrating to Slack (the previous app used to fail just way to often and was much less powerful).
Slack is undoubtedly a cool thing and those who use it will probably agree that it’s also pretty stable and offers a coherent user experience across web, desktop and mobile. Why Electron, though? As one of the Slack developers explains on their engineering blog:
"Given the rise of progressive web apps (PWAs) and browsers-as-OSes, it’s worth taking some time to think through what capabilities your app can’t possibly have as a standard web app. For Slack, this includes fine-grained control over native notifications, screensharing and video calls, spellchecking and language detection, native app and context menus, and access to exciting new APIs like the Touch Bar and My People."
Surprised? I must admit I was. I’m not a regular Skype users any more (I especially like the new, quietly released Hangouts Meet). Nevertheless, as we know old habits die hard, so I have Skype both on my Mac and phone and use it approximately 1-2 times a week as some clients are not very keen to try anything else. Also, I must say Skype is generally pretty reliable and usually provides a decent call quality.
It’s virtually impossible you haven’t heard about WordPress, but you might be unaware that the most popular CMS offers users a desktop app, which is basically a panel allowing you to control all your WordPress sites. As the Automatic (the guys behind WP and some more widely known web stuff) admit, the decision to use Electron was purely pragmatism-driven:
Another popular CMS, or as Ghost founders call it - a professional publishing platform, whose desktop app is built with Electron. It is, by the way, an interesting alternative to WP, so if by any chance you ever look for a blog tool, it may be worth to have a look how Ghost compares itself against the (still) more popular competitor.
That’s correct - Signal also decided to develop a desktop version of their popular messaging app using Electron. Signal is an interesting (especially for privacy cautious users) alternative to the biggest players on the market - Messenger and WhatsApp which, as you know, both belong to Mr Zuckerberg’s digital empire. Signal’s open source encryption protocol (Open Whisper System) is, ironically, also used by… Messenger and WhatsApp. The difference is, as you may expect, that Signal is an open source project supported by donations and grants, while the other two...well, let’s drop it here. If you’re interested to learn some details, there’s an interesting piece of reading in a Wired article.
The list does not obviously end here, a more complete one can be found on the official Electron site. Interestingly, as you will see, 3 categories dominate: productivity, developer tools and utilities. Naturally, like any other technology Electron has some harsh critics, but I still think the fact that Slack or Microsoft decided to use it developing their flagship products is a good enough proof Electron is a viable alternative to anyone who shivers at the thought of ending up with a few codebases with very different programming languages.