Aller au contenu principal

Build cross-platform desktop apps with JavaScript, HTML, and CSS

Docs
web-tech

Web Technologies

Electron embeds Chromium and Node.js to enable web developers to create desktop applications.

cross-platform

Cross Platform

Compatible with macOS, Windows, and Linux, Electron apps run on three platforms across all supported architectures.

open-source

Open Source

Electron is an open source project maintained by the OpenJS Foundation and an active community of contributors.

Use the tools you love

With the power of modern Chromium, Electron gives you an unopinionated blank slate to build your app. Choose to integrate your favourite libraries and frameworks from the front-end ecosystem, or carve your own path with bespoke HTML code.

React
Vue.js
Next.js
Tailwind CSS
Bootstrap
Three.js
Angular
TypeScript
webpack
Playwright
Testing Library
Sass
Explore boilerplates

Desktop development made easy

Electron takes care of the hard parts so you can focus on the core of your application.

macOS operating system menu for VSCode.
              'Code' menu item is selected, and its submenu has items 'About Visual Studio Code',
              'Check for Updates...', 'Preferences', 'Services', 'Hide Visual Studio Code',
              'Hide Others', 'Show All', 'Quit Visual Studio Code'.

Native graphical user interfaces

Interact with your operating system's interfaces with Electron's main process APIs. Customize your application window appearance, control application menus, or alert users through dialogs or notifications.

Dialog for Electron Fiddle's auto-update. The user is prompted to update to v0.27.3.
              'A new version has been downloaded. Restart the application to apply the updates.'
              There are two buttons underneath: 'Later' and 'Restart'.

Automatic software updates

Send out software updates to your macOS and Windows users whenever you release a new version with Electron's autoUpdater module, powered by Squirrel.

Window on macOS for the WhatsApp Installer (DMG).
              Two icons are present: 'WhatsApp' and 'Applications'. The user is prompted to
              drag the WhatsApp app icon into the Applications folder.

Application installers

Use community-supported tooling to generate platform-specific tooling like Apple Disk Image (.dmg) on macOS, Windows Installer (.msi) on Windows, or RPM Package Manager (.rpm) on Linux.

Mac App Store window open to the Rocket.Chat download page.

App store distribution

Distribute your application to more users. Electron has first-class support for the Mac App Store (macOS), the Microsoft Store (Windows), or the Snap Store (Linux).

Screenshot of Sentry crash reporting (https://sentry.io). Shows the error message
              ('BrowserWindow Unresponsive'), user breadcrumbs, and user information.

Crash reporting

Automatically collect JavaScript and native crash data from your users with the crashReporter module. Use a third-party service to collect this data or set up your own on-premise Crashpad server.

Try Electron out

Experiment with the API

Electron Fiddle

Electron Fiddle lets you create and play with small Electron experiments. It greets you with a quick-start template after opening — change a few things, choose the version of Electron you want to run it with, and play around.

Save your Fiddle either as a GitHub Gist or to a local folder. Once pushed to GitHub, anyone can quickly try your Fiddle out by just entering it in the address bar.

Screenshot of Electron Fiddle's main window
Nice and easy

Tutorial

Electron's quick start tutorial will expose you to a mix of theory and practical code that will get you developing desktop apps like a pro in no time.

Learn how to run a web app in Electron, package your application, and distribute it to end users.

Learn more
electronjs.org tutorial quick start guide
Jump right in

Installation

We recommend you install Electron locally in your devDependencies. For a production-ready experience, install the latest stable version. If you want something a bit more experimental, try the prerelease (beta or alpha) or nightly channels.

  • Stable
  • Prerelease
  • Nightly
$ npm install --save-dev electron@latest
# Electron 20.0.1
# Node 16.15.0
# Chromium 104.0.5112.81