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?
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
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.
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
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.