electron/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

116 lines
5.2 KiB
Markdown
Raw Normal View History

[![Electron Logo](https://electronjs.org/images/electron-logo.svg)](https://electronjs.org)
2015-04-23 20:46:48 +00:00
[![GitHub Actions Build Status](https://github.com/electron/electron/actions/workflows/build.yml/badge.svg)](https://github.com/electron/electron/actions/workflows/build.yml)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/4lggi9dpjc1qob7k/branch/main?svg=true)](https://ci.appveyor.com/project/electron-bot/electron-ljo26/branch/main)
[![Electron Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=chat&logo=discord&logoColor=white)](https://discord.gg/electronjs)
2015-06-29 23:46:22 +00:00
:memo: Available Translations: 🇨🇳 🇧🇷 🇪🇸 🇯🇵 🇷🇺 🇫🇷 🇺🇸 🇩🇪.
View these docs in other languages on our [Crowdin](https://crowdin.com/project/electron) project.
2017-08-08 17:55:09 +00:00
2015-04-08 17:16:10 +00:00
The Electron framework lets you write cross-platform desktop applications
2015-11-03 17:13:48 +00:00
using JavaScript, HTML and CSS. It is based on [Node.js](https://nodejs.org/) and
[Chromium](https://www.chromium.org) and is used by the
[Visual Studio Code](https://github.com/Microsoft/vscode/) and many other [apps](https://electronjs.org/apps).
2013-04-12 01:46:58 +00:00
Follow [@electronjs](https://twitter.com/electronjs) on Twitter for important
2015-04-24 00:00:04 +00:00
announcements.
This project adheres to the Contributor Covenant
[code of conduct](https://github.com/electron/electron/tree/main/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable
2018-03-14 19:37:40 +00:00
behavior to [coc@electronjs.org](mailto:coc@electronjs.org).
2015-07-08 20:29:24 +00:00
2017-08-08 17:18:40 +00:00
## Installation
2013-04-12 01:46:58 +00:00
2017-08-08 17:18:40 +00:00
To install prebuilt Electron binaries, use [`npm`](https://docs.npmjs.com/).
The preferred method is to install Electron as a development dependency in your
app:
```sh
npm install electron --save-dev
2017-08-08 17:18:40 +00:00
```
For more installation options and troubleshooting tips, see
[installation](docs/tutorial/installation.md). For info on how to manage Electron versions in your apps, see
[Electron versioning](docs/tutorial/electron-versioning.md).
2017-08-08 17:18:40 +00:00
## Platform support
Each Electron release provides binaries for macOS, Windows, and Linux.
chore: bump chromium to 129.0.6630.0 (main) (#43087) * chore: bump chromium in DEPS to 129.0.6623.0 * chore: update mas_avoid_private_macos_api_usage.patch.patch remove the changes to media/audio/mac/audio_manager_mac.cc, since upstream has also made this change now. Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5738654 * chore: update fix_disable_scope_reuse_associated_dchecks.patch We had been removing a couple of `DCHECK`. Upstream changed their code to limit when these `DCHECK`s get called, so let's see if our change is still needed. Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5739076 * chore: e patches all * Bump the Chrome macOS deployment target to 11.0 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5734361 BREAKING CHANGE: Bump the Chrome macOS deployment target to 11.0 * src: stop using deprecated fields of `v8::FastApiCallbackOptions` Xref: https://github.com/nodejs/node/commit/d0000b118d9d7966afda4da209e09830d2a4aa95 Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5741336 Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5741199 * fixup! chore: update fix_disable_scope_reuse_associated_dchecks.patch chore: re-disable DCHECKs yep, it is still needed * refactor use non-deprecated variant of openApplicationAtURL old version is deprecated now in macOS 11 Xref: https://developer.apple.com/documentation/appkit/nsworkspace/1534810-launchapplicationaturl Xref: https://developer.apple.com/documentation/appkit/nsworkspace/3172700-openapplicationaturl * chore: bump chromium in DEPS to 129.0.6626.0 * chore: e patches all * chore: disable NSUserNotification deprecation errors * chore: disable NSWindowStyleMaskTexturedBackground deprecation errors Xref: https://github.com/electron/electron/issues/43125 * chore: disable deprecation errors in platform_util_mac.mm * chore: disable launchApplication deprecation errors * chore: bump chromium in DEPS to 129.0.6630.0 * chore: update refactor_expose_file_system_access_blocklist.patch apply patch manually due to context shear Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5745444 * chore: update deps_add_v8_object_setinternalfieldfornodecore.patch no manual changes. patch applied with fuzz 1 (offset -5 lines) * chore: e patches all * fix: add clang_x64_v8_arm64/snapshot_blob.bin to the zip manifest Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5746173 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
2024-08-02 14:02:11 +00:00
* macOS (Big Sur and up): Electron provides 64-bit Intel and Apple Silicon / ARM binaries for macOS.
* Windows (Windows 10 and up): Electron provides `ia32` (`x86`), `x64` (`amd64`), and `arm64` binaries for Windows. Windows on ARM support was added in Electron 5.0.8. Support for Windows 7, 8 and 8.1 was [removed in Electron 23, in line with Chromium's Windows deprecation policy](https://www.electronjs.org/blog/windows-7-to-8-1-deprecation-notice).
* Linux: The prebuilt binaries of Electron are built on Ubuntu 20.04. They have also been verified to work on:
* Ubuntu 18.04 and newer
* Fedora 32 and newer
* Debian 10 and newer
## Quick start & Electron Fiddle
Use [`Electron Fiddle`](https://github.com/electron/fiddle)
to build, run, and package small Electron experiments, to see code examples for all of Electron's APIs, and
to try out different versions of Electron. It's designed to make the start of your journey with
Electron easier.
Alternatively, clone and run the
2017-08-08 17:18:40 +00:00
[electron/electron-quick-start](https://github.com/electron/electron-quick-start)
repository to see a minimal Electron app in action:
```sh
2017-08-08 17:18:40 +00:00
git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install
npm start
```
2017-11-19 17:51:03 +00:00
## Resources for learning Electron
* [electronjs.org/docs](https://electronjs.org/docs) - All of Electron's documentation
* [electron/fiddle](https://github.com/electron/fiddle) - A tool to build, run, and package small Electron experiments
* [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - A very basic starter Electron app
* [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - Sample starter apps created by the community
2015-01-19 14:30:33 +00:00
2017-08-08 17:18:40 +00:00
## Programmatic usage
Most people use Electron from the command line, but if you require `electron` inside
your **Node app** (not your Electron app) it will return the file path to the
binary. Use this to spawn Electron from Node scripts:
2015-01-19 14:30:33 +00:00
2017-08-08 17:18:40 +00:00
```javascript
const electron = require('electron')
const proc = require('node:child_process')
2013-04-12 01:46:58 +00:00
2017-08-08 17:18:40 +00:00
// will print something similar to /Users/maf/.../Electron
console.log(electron)
// spawn Electron
const child = proc.spawn(electron)
```
### Mirrors
* [China](https://npmmirror.com/mirrors/electron/)
See the [Advanced Installation Instructions](https://www.electronjs.org/docs/latest/tutorial/installation#mirror) to learn how to use a custom mirror.
2014-05-14 18:32:24 +00:00
## Documentation translations
2015-08-23 15:19:37 +00:00
We crowdsource translations for our documentation via [Crowdin](https://crowdin.com/project/electron).
We currently accept translations for Chinese (Simplified), French, German, Japanese, Portuguese,
Russian, and Spanish.
2015-08-23 15:19:37 +00:00
## Contributing
If you are interested in reporting/fixing issues and contributing directly to the code base, please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information on what we're looking for and how to get started.
2014-05-14 18:32:24 +00:00
## Community
Info on reporting bugs, getting help, finding third-party tools and sample apps,
and more can be found on the [Community page](https://www.electronjs.org/community).
2016-10-01 03:33:51 +00:00
## License
[MIT](https://github.com/electron/electron/blob/main/LICENSE)
When using Electron logos, make sure to follow [OpenJS Foundation Trademark Policy](https://trademark-policy.openjsf.org/).