Electron is an open source software framework that software developers can use to create desktop apps that work across Windows, macOS, and Linux operating systems.
Background: Each operating system can only run apps written in certain programming languages, called native languages. If a developer wants an app to work on the system’s desktop, then they will need to write it in those languages. If an app is written in a system’s native language, then it is called a native app. For example, native apps for iOS and macOS are written in a language called Swift.
- Developing a sophisticated app for one platform takes a tremendous amount of expertise, time, money, and effort.
- If a developer wants the app to work across multiple platforms, they will need to rewrite it in multiple languages. This requires them to either understand the intricacies of each operating system and their corresponding languages or to hire other developers who do. Both options are too expensive or difficult for most startups and individual developers.
- Additionally, writing an app in multiple languages results in multiple codebases, each of which requires resources to continue to maintain, debug, and improve.
How it works: The three universal languages for web browsers are JavaScript, HTML, and CSS. Developers first write their app in these languages then use Electron to package it with technologies called Chromium and Node.js.
- Chromium is an engine that powers many web browsers including Opera, Google Chrome and Microsoft Edge. Node.js is a system that allows apps written in JavaScript to interact with the operating system. Both work across platforms.
- Apps built on Electron are in effect specially designed web browsers that work like native apps.
- Developers can start with building their app for just a single platform, like the web, then produce apps for all other platforms, like Windows and macOS, without expending additional resources on software development.
Why it matters: Electron makes it easier to create cross platform apps.
- Developers can create cross platform apps without learning the intricacies of every operating system and their corresponding programming languages.
- Developers can use a single codebase for all three desktop apps, which makes it easier and quicker for them to catch and fix bugs.
- Users can experience lower prices for apps built on Electron because it reduces the costs for software engineers to develop them.
A possible downside of apps built on Electron is that they may use more storage and memory (RAM) than if they were built natively. However, storage and memory are becoming cheaper for consumers every year, so even the cheapest new laptops can run apps built on Electron without users noticing the added system requirements.
Examples of apps built on Electron:
- Communications apps including Discord, Riot.im, Rocket.Chat, Signal, Skype, Slack, and Whatsapp
- Productivity apps including Standard Notes, Ghost, and Wordpress.com
- Text editors including Atom and Visual Studio Code
- Password managers including Bitwarden and Keeper
The bottom line: Many companies, both large and small, build apps on Electron because it reduces the costs to develop and maintain apps. Without it, many new apps wouldn’t exist or work cross-platform.
Further reading:
This post was originally published on the Standard Notes Knowledge Base. Standard Notes is a free, open, and end-to-end encrypted notes app.
Join our Slack and follow us on Twitter to get all the latest updates about Standard Notes.
Thanks for reading ✓