

In contrast, Electron uses web pages as its GUI. Other projects have attempted cross-platform support by providing bindings to graphical user interface libraries on native platforms. Whereas desktop apps used to require different code bases for different platforms, now your application is comprised of HTML, CSS, and JavaScript. In fact, if you have an existing web application, you can reuse much of the code in your Electron version. How Electron Worksīuilding an Electron app is similar in many ways to building a web application. At this time, Electron powers popular desktop applications like Slack, Discord, Basecamp, VS Code, Atom, Skype, WhatsApp, Yammer, and more. Shortly after it’s release, Electron saw big gains in popularity with major companies. Significantly, the team at GitHub maintains and improves Electron with help from the open source community. Furthermore, it enabled these applications to exist offline and on any platform by wrapping these NodeJS-based apps in an instance of the Chromium browser.

Consequently, Electron leveraged JavaScript and the NodeJS runtime to create its applications. Later, it got the new name Electron and became open source.Įlectron’s key insight was the existing cross-compatibility of web technologies on all platforms. It would allow Atom to be cross-platform with a single codebase. At first, it was the foundation for GitHub’s code editor, Atom. The Electron project began in 2013, under the name Atom Shell. In turn, these code bases must be maintained independently. As a result, developing the same application for multiple platforms often involves completely separate code bases. Correspondingly, each of these operating systems comes with its own requirements and dependencies. When companies develop applications for desktop, they usually need to support three different operating systems: Windows, Mac, and Linux.
