Making desktop programs compatible across platforms is a time-consuming and labor-intensive process, because of the inherent differences in the way various operating systems work. That being the case, developers wanting to code for all three major desktop operating systems have to re-write large portions of their code-base when porting their apps from one OS to another, making it a costly and laborious exercise. That’s where Electron comes in. It’s an amazing tool that makes it easy for developers to make their desktop programs compatible across a wide array of operating systems, including Windows, macOS and Linux, and although it does have it’s downsides, the benefits far outweigh the negatives for the most part. With more developers starting to build their apps on Electron for cross-platform compatibility, let’s take a look at what they are and why they’re gaining in popularity. While at it, we’ll also take a look at some of the best Electron apps that you can download right now.
What are Electron Apps?
Known as Atom Shell in its earlier avatar, Electron is a powerful open source framework that allows developers to create native cross-platform applications with web technologies like JavaScript, HTML and CSS using Node.js runtime as the back-end component and Chromium for the front-end. It was originally created by former Googler Cheng Zhao and is currently developed by GitHub as one of its own projects. Popular VoIP application Discord and open source text editors Atom and MS Visual Studio Code are some of the best examples of desktop applications that are powered by Electron.
Benefits and Downsides of Using Electron to Build Desktop Applications
There are several benefits of using Electron instead of web resources to build an application, first and foremost among which is cross-platform compatibility. For developers looking to lower costs and reduce dependencies, Electron is a huge asset as they don’t need to code across multiple browsers and operating systems. On the user-side, Electron applications have an uniform look and feel regardless of the operating system, and it will continue to remain that way years from now.
On the flipside, every Electron app bundles an entire web runtime with it, even though a suitable runtime already exists on all major operating systems. That results in bloated build sizes and excess memory usage, because each of these apps run a separate instance of Chromium, hogging CPU and memory resources even when they’re just idling in the background. While Electron proponents argue that bundling a web runtime is necessary to provide an identical experience to each and every single user irrespective of the platform of their choice, critics claim that it is a avoidably wasteful and highly inefficient way of doing things.
Applications Developed Using Electron
Modern cross-platform desktop applications built with JavaScript rely on either Electron or NW.js, and although both frameworks work in a similar manner for the most part, Electron is proving to be the more popular option among developers right now. There are literally hundreds of desktop applications that use Electron, and the list continues to grow with time. That being the case, let’s take a look at the 5 best and most popular Electron apps that are available for download right now:
1. Discord
Discord is a free VoIP application that’s available on Windows, macOS, Linux, Android and iOS. The software was initially released in March 2015, and has already gained a cult following among gamers with over 50 million registered users from around the world. The company has been adding new features and functionality to its desktop client constantly, and only recently released video calling and screen-sharing features to its entire user-base, after having rolled them out as a public beta to 5% of users a few weeks earlier.
2. Atom
Atom is a free, open source and highly customizable source code editor that’s build using the Electron framework. It comes with 50 open source packages, and is hosted on GitHub like many of its open source counterparts. It’s written in pure HTML/CSS on top of Chromium and already has over 7,000 different packages, just about all of which are also hosted on Github. Atom also comes with a number of default plugins that make it compatible with a whole bunch of programming languages, including C, C++, C#, HTML, Java, Python, SQL and more. Being one of Github’s own projects, Atom also has great git integration, making it a favorite among advanced and novice developers alike.
MS Visual Studio Code
Like Atom, Microsoft’s Visual Studio Code from is also a Github-hosted, free and open source (FOSS) source code editor and debugger that’s built on Electron using Node and HTML/CSS. Available on Windows, macOS and Linux, it includes support for embedded Git control, syntax highlighting, intelligent code completion, snippets and code refactoring. It is also customizable, which allows users to change the editor’s theme, keyboard shortcuts and other preferences. Visual Studio Code supports C, C#, C++, HTML, JSON, Objective-C, Objective-C++, PHP and various other programming languages.
3. Light Table
Light Table is a free and open source IDE (Integrated Development Environment) that aims to provide a flexible interface, real-time evaluation, instant execution, live visualization, debugging and documentation. One of the interesting things about Light Table is that it was the first user of NW.js (then node-webkit), before switching to Electron years later. The software is written in ClojureScript, and though it started off as an environment for Clojure and ClojureScript, it has since added support for other programming languages, such as Python, JavaScript, HTML and CSS. While Light Table has limited language support compared to some of its competitors, it does come with a a few nice touches, such as Auto-complete everywhere, split views and a command palette.
4. Slack
Slack is one of the most popular cloud-based team collaboration software that began life as an internal productivity tool used by the company (then known as Tiny Speck) before being launched publicly in August 2013. Slack offers a lot of IRC-like features like, persistent chat rooms (channels) organized by topic, as well as private groups and direct messaging, which have helped the service gain popularity as a community platform in recent times, even though it was initially envisioned as a organizational communication tool. Slack is an acronym for “Searchable Log of All Conversation and Knowledge”, and is available on a number of platforms, including Windows, macOS, Linux, Android and iOS.
5. Google Play Music Desktop Player
While the aforementioned applications are the official desktop clients from their respective developers, Google Play Music Desktop Player is a third-party app that offers a material-like interface for Google Play music playback. While it doesn’t have support for offline playback, it does allow users plenty of customization options, including different themes, multiple colors, and the ability to send your play history straight to last.fm. It even has a built-in equalizer, as well as the option to customize notifications, hotkeys and background playback. The software is free and open source, and is hosted on GitHub like most other FOSS software.
SEE ALSO: How to Enable Streamer Mode on Discord
Electron Apps: The Best Software Framework for Cross-Platform Compatibility?
With the smartphone taking prominence in a bold, new, “Post-PC era”, there’s been a steady decline in the desktop user base, and things are not getting any better with the lack of cross-platform compatibility of many software titles. With frameworks like Electron and NW.js, developers no longer have to package their codebase separately for each operating system, making it easier to write and maintain native desktop applications. While the five mentioned here are among the most popular, there are hundreds more available, with the list continuing to grow rapidly. So do you already use any of these apps or are you planning to do so in the future? Do let us know by leaving your thoughts in the comment section below, because we love hearing from you.