bc527f6b51
* refactor: bundle the browser and renderer process electron code * Bundles browser/init and renderer/init * Improves load performance of main process by ~40% * Improves load performance of renderer process by ~30% * Prevents users from importing our "requiring" our internal logic such as ipc-main-internal. This makes those message buses safer as they are less accessible, there is still some more work to be done though to lock down those buses completely. * The electron.asar file now only contains 2 files, as a future improvement maybe we can use atom_natives to ship these two files embedded in the binary * This also removes our dependency on browserify which had some strange edge cases that caused us to have to hack around require-order and stopped us using certain ES6/7 features we should have been able to use (async / await in some files in the sandboxed renderer init script) TLDR: Things are faster and better :) * fix: I really do not want to talk about it * chore: add performance improvements from debugging * fix: resolve the provided path so webpack thinks it is absolute * chore: fixup per PR review * fix: use webpacks ProvidePlugin to keep global, process and Buffer alive after deletion from global scope for use in internal code * fix: bundle worker/init as well to make node-in-workers work * chore: update wording as per feedback * chore: make the timers hack work when yarn is not used |
||
---|---|---|
.. | ||
api | ||
development | ||
images | ||
tutorial | ||
faq.md | ||
glossary.md | ||
README.md | ||
styleguide.md |
Official Guides
Please make sure that you use the documents that match your Electron version. The version number should be a part of the page URL. If it's not, you are probably using the documentation of a development branch which may contain API changes that are not compatible with your Electron version. To view older versions of the documentation, you can browse by tag on GitHub by opening the "Switch branches/tags" dropdown and selecting the tag that matches your version.
FAQ
There are questions that are asked quite often. Check this out before creating an issue:
Guides and Tutorials
- Setting up the Development Environment
- Creating your First App
- Boilerplates and CLIs
- Application Architecture
- Adding Features to Your App
- Accessibility
- Testing and Debugging
- Packaging
- Distribution
- Security
- Updates
Detailed Tutorials
These individual tutorials expand on topics discussed in the guide above.
- In Detail: Installing Electron
- In Detail: Electron's Versioning Scheme
- In Detail: Packaging App Source Code with asar
- In Detail: Testing Widevine CDM
- In Detail: Using Pepper Flash Plugin
- Offscreen Rendering
API References
- Synopsis
- Process Object
- Supported Chrome Command Line Switches
- Environment Variables
- Breaking API Changes
Custom DOM Elements:
Modules for the Main Process:
- app
- autoUpdater
- BrowserView
- BrowserWindow
- contentTracing
- dialog
- globalShortcut
- inAppPurchase
- ipcMain
- Menu
- MenuItem
- net
- netLog
- powerMonitor
- powerSaveBlocker
- protocol
- session
- systemPreferences
- Tray
- webContents