Electron is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux.
Electron began in 2013 as the framework on which Atom, GitHub's hackable text editor, would be built. The two were open sourced in the Spring of 2014.
It has since become a popular tool used by open source developers, startups, and established companies. See who is building on Electron.
Read on to learn more about the contributors and releases of Electron or get started building with Electron in the Quick Start Guide.
Electron is maintained by a team at GitHub as well as a group of active contributors from the community. Some of the contributors are individuals and some work at larger companies who are developing on Electron. We're happy to add frequent contributors to the project as maintainers. Read more about contributing to Electron.
Electron releases frequently. We release when there are significant bug fixes, new APIs or are updating versions of Chromium or Node.js.
Electron's version of Chromium is usually updated within one or two weeks after a new stable Chromium version is released, depending on the effort involved in the upgrade.
When a new version of Node.js is released, Electron usually waits about a month before upgrading in order to bring in a more stable version.
In Electron, Node.js and Chromium share a single V8 instance—usually the version that Chromium is using. Most of the time this just works but sometimes it means patching Node.js.
As of version 2.0 Electron follows semver
.
For most applications, and using any recent version of npm,
running $ npm install electron
will do the right thing.
The version update process is detailed explicitly in our Versioning Doc.
Long term support of older versions of Electron does not currently exist. If your current version of Electron works for you, you can stay on it for as long as you'd like. If you want to make use of new features as they come in you should upgrade to a newer version.
A major update came with version v1.0.0
. If you're not yet using this version, you should read more about the v1.0.0
changes.
In order to keep Electron small (file size) and sustainable (the spread of dependencies and APIs) the project limits the scope of the core project.
For instance, Electron uses Chromium's rendering library rather than all of Chromium. This makes it easier to upgrade Chromium but also means some browser features found in Google Chrome do not exist in Electron.
New features added to Electron should primarily be native APIs. If a feature can be its own Node.js module, it probably should be. See the Electron tools built by the community.
Below are milestones in Electron's history.
:calendar: | :tada: |
---|---|
April 2013 | Atom Shell is started . |
May 2014 | Atom Shell is open sourced . |
April 2015 | Atom Shell is re-named Electron . |
May 2016 | Electron releases v1.0.0
. |
May 2016 | Electron apps compatible with Mac App Store . |
August 2016 | Windows Store support for Electron apps . |