Electron is a popular framework to build cross-platform desktop applications using web technologies. Some of the most popular applications using it are Visual Studio Code, Slack, Discord, InVision, Figma, or WhatsApp.
While it was originally created by GitHub in 2013, it is an OpenJS Foundation project since 2019. It has an Open Governance where engineers from different companies and products (like VS Code, Slack, Teams, RingCentral) and volunteers collaborate in different Working Groups.
|Rendering strategy||Browser engine|
|Code License||[[object Object]]|
|Release cadence||Major versions: 12 weeks |
|Release support||9 months|
|Update model||Developer driven|
|Governance model||Open Governance|
While a mobile Electron could be possible, the Apple Store policy 2.5.6 will prevent it from being distributed on iOS devices.
While this list is for the "out of the box" languages, there are ways to use others. An example would be Rust, which can be run via Neon.
Release cadence, version support and update model
Electron has three important branches of development: nightly, beta, and stable. The nightly branch is synced to Chromium's development branch and merged daily or weekly. Nightly Electron is equivalent to Chrome Canary. The beta and stable branches of Electron are fixed to their major-versions of Chromium and release every 12 weeks. New Electron stable versions typically release the same day as the equivalent stable Chrome release. Additionally, the team releases weekly updates (minor and/or patch) for the latest 3 stable versions, bringing the total lifetime of a stable version to 36 weeks (or about 9 months).
Chrome has announced that starting in Chrome 94 (Q3 2021) they will switch to a 4 week release cadence. Electron will continue releasing every other one and supporting the latest 3 major versions. This means that the length of support will change from ~9 months to ~6 months.
Electron applications are self-contained: Chromiun and Node.js are bundled in the application. This has the advantage for the users to not have to install any pre-requisites, and for developers to know exactly what dependencies are being run. On the other side, it also means that updating the Electron version is a developer responsibility (developer driven).
Electron is an OpenJS Foundation project with an established Open Governance model. It has several autonomous Working Groups (WG) for different areas (API, releases, security). In the words of the project:
A working group is a group of maintainers that is formed to take responsibility for certain aspects of the Electron project. Normally these groups will meet regularly but in some cases will only meet as required to fulfill their responsibilities.
While the requirements might change from one WG to another, anyone can eventually become a maintainer, join, and get their feature added. Electron is created to serve its community, and not the needs of a particular company or product.