# electron/electron-api-demos

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/electron-electron-api-demos).**

10,235 stars · 2,079 forks · HTML · MIT · archived

## Links

- GitHub: https://github.com/electron/electron-api-demos
- Homepage: http://electronjs.org/#get-started
- awesome-repositories: https://awesome-repositories.com/repository/electron-electron-api-demos.md

## Description

This repository provides a collection of interactive sample applications and reference implementations for the Electron framework. It serves as a library of API reference demos designed to help developers learn how to implement core desktop features.

The project features visual demonstrations of cross-platform GUI management and practical examples of native operating system integration. It includes dedicated samples for handling native modules, crash reports, and the configuration of security implementations such as content security policies and process sandboxing.

The codebase covers a broad range of desktop capabilities, including window management, system menu controls, and inter-process communication. It also demonstrates the use of utility processes, network resolution configuration, and the registration of protocol handlers.

## Tags

### Part of an Awesome List

- [Demo Applications](https://awesome-repositories.com/f/awesome-lists/more/demo-applications.md) — Provides a collection of interactive sample applications that demonstrate how to implement core desktop features. ([source](https://electronjs.org/docs/latest/tutorial/examples))
- [Build and Bundling](https://awesome-repositories.com/f/awesome-lists/devtools/build-and-bundling.md) — Provides samples for bundling application code and extensible modules into a distributable format. ([source](http://electronjs.org/))
- [Native Module Development](https://awesome-repositories.com/f/awesome-lists/devtools/native-integration/native-module-development.md) — Provides code examples for authoring high-performance extensions using native modules and handling OS-level file requests.

### Education & Learning Resources

- [API Reference Demos](https://awesome-repositories.com/f/education-learning-resources/api-reference-demos.md) — Provides a library of interactive sample applications and reference implementations to help developers learn the core Electron APIs.
- [Security Implementation Guides](https://awesome-repositories.com/f/education-learning-resources/security-implementation-guides.md) — Offers step-by-step instructional examples for configuring session permissions, sandboxing, and security policies.

### User Interface & Experience

- [Application Window Managers](https://awesome-repositories.com/f/user-interface-experience/application-window-managers.md) — Creates and manages desktop windows and web embeds, including native user event handling. ([source](https://electronjs.org/docs/latest/tutorial/process-model))
- [Native GUI Component Controls](https://awesome-repositories.com/f/user-interface-experience/native-gui-component-controls.md) — Provides direct control over application window appearance, system menus, and native user-facing dialogs. ([source](http://electronjs.org/))
- [Taskbar Jump Lists](https://awesome-repositories.com/f/user-interface-experience/taskbar-jump-lists.md) — Implements platform-specific UI elements including taskbar badges, jump lists, and recent document lists. ([source](https://electronjs.org/docs/latest/api/app))

### Operating Systems & Systems Programming

- [Cross-Platform GUI Wrappers](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-applications/cross-platform-gui-wrappers.md) — Provides visual demonstrations of managing application lifecycles and renderer processes using cross-platform GUI wrappers.
- [OS-Level Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/os-level-integrations.md) — Provides reference implementations for connecting web interfaces to system-level functions and native OS capabilities.
- [Application Lifecycle Controllers](https://awesome-repositories.com/f/operating-systems-systems-programming/application-lifecycle-controllers.md) — Demonstrates how to manage application startup and shutdown behaviors, including native dock modifications. ([source](https://electronjs.org/docs/latest/tutorial/process-model))
- [OS File Associations](https://awesome-repositories.com/f/operating-systems-systems-programming/os-file-associations.md) — Demonstrates the registration of custom protocol schemes and file extensions to handle OS-level requests. ([source](https://electronjs.org/docs/latest/api/app))
- [Privileged API Bridges](https://awesome-repositories.com/f/operating-systems-systems-programming/root-privilege-abstractions/per-application-root-restrictions/privileged-api-bridges.md) — Exposes native system functionality to web interfaces securely through isolated communication layers. ([source](https://electronjs.org/docs/latest/tutorial/process-model))
- [System Folder Resolution](https://awesome-repositories.com/f/operating-systems-systems-programming/system-folder-resolution.md) — Provides utilities for resolving standardized operating system paths for user data, settings, and logs. ([source](https://electronjs.org/docs/latest/api/app))

### Security & Cryptography

- [Context Isolation Strategies](https://awesome-repositories.com/f/security-cryptography/application-and-system-security/sandbox-and-isolation/runtime-process-isolation/context-isolation-strategies.md) — Provides implementations of isolated preload scripts to prevent web content from accessing privileged native APIs.
- [Sandboxed Rendering](https://awesome-repositories.com/f/security-cryptography/security/infrastructure-and-hardware/infrastructure-system-hardening/execution-sandboxes/sandboxed-rendering.md) — Demonstrates restricting renderer process access to the file system and network using OS security boundaries.
- [Application Sandboxing](https://awesome-repositories.com/f/security-cryptography/application-sandboxing.md) — Implements OS-level isolation to restrict renderer processes from accessing unauthorized system resources. ([source](https://electronjs.org/docs/latest/api/app))
- [Content Security Policies](https://awesome-repositories.com/f/security-cryptography/content-security-policies.md) — Includes configurations for restricting browser capabilities to prevent cross-site scripting and data injection. ([source](https://electronjs.org/docs/latest/tutorial/security))
- [Desktop Security Implementations](https://awesome-repositories.com/f/security-cryptography/content-security-policies/desktop-security-implementations.md) — Includes practical examples of configuring content security policies, process sandboxing, and isolated contexts.
- [Inter-Process Communication Validation](https://awesome-repositories.com/f/security-cryptography/inter-process-communication-validation.md) — Verifies the identity of the sender for every incoming IPC message to prevent untrusted actions. ([source](https://electronjs.org/docs/latest/tutorial/security))
- [Process Sandboxing](https://awesome-repositories.com/f/security-cryptography/process-sandboxing.md) — Utilizes operating system restrictions to isolate renderer processes and limit their system access. ([source](https://electronjs.org/docs/latest/tutorial/security))
- [Secure Local Asset Protocols](https://awesome-repositories.com/f/security-cryptography/secure-local-asset-protocols.md) — Uses custom protocols instead of the file system to serve local pages and assets securely. ([source](https://electronjs.org/docs/latest/tutorial/security))

### Software Engineering & Architecture

- [Cross-Platform Desktop Development](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/application-targets-domains/cross-platform-desktop-development.md) — Serves as a reference for building cross-platform software that integrates native OS features.
- [Inter-Process Communication](https://awesome-repositories.com/f/software-engineering-architecture/inter-process-communication.md) — Implements the communication bus for passing serialized messages between main and renderer processes.
- [Multi-Process Architectures](https://awesome-repositories.com/f/software-engineering-architecture/multi-process-architectures.md) — Showcases the architectural separation of main application logic and renderer processes for stability.
- [Background Processing](https://awesome-repositories.com/f/software-engineering-architecture/background-processing.md) — Demonstrates offloading CPU-intensive or untrusted tasks to background utility processes with dedicated communication channels. ([source](https://electronjs.org/docs/latest/tutorial/process-model))

### Web Development

- [Electron Application Examples](https://awesome-repositories.com/f/web-development/electron-application-examples.md) — Ships a collection of practical implementations showcasing native OS integration, window management, and system menu controls.

### Business & Productivity Software

- [Automatic Software Updates](https://awesome-repositories.com/f/business-productivity-software/automatic-software-updates.md) — Implements mechanisms for automatically checking and delivering software updates to users. ([source](http://electronjs.org/))

### Development Tools & Productivity

- [Electron Application Packagers](https://awesome-repositories.com/f/development-tools-productivity/electron-application-packagers.md) — Demonstrates the use of packagers to bundle application code into native installers and executables. ([source](https://electronjs.org/docs/latest/tutorial/forge-overview))

### DevOps & Infrastructure

- [Cross-Platform Installers](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution/native-installers/cross-platform-installers.md) — Showcases how to generate platform-specific installation packages for different operating systems. ([source](http://electronjs.org/))
- [Application Shutdown Lifecycles](https://awesome-repositories.com/f/devops-infrastructure/graceful-shutdowns/application-shutdown-lifecycles.md) — Includes samples for handling single-instance locks and automatic restart sequences during application lifecycle transitions. ([source](https://electronjs.org/docs/latest/api/app))

### Networking & Communication

- [Custom URI Scheme Handlers](https://awesome-repositories.com/f/networking-communication/custom-protocol-implementations/custom-uri-scheme-handlers.md) — Demonstrates how to intercept network requests to serve local assets through secure custom protocols.
- [Protocol Handlers](https://awesome-repositories.com/f/networking-communication/protocol-handlers.md) — Shows how to register the application as the default handler for specific URI schemes to open links. ([source](https://electronjs.org/docs/latest/api/app))

### Programming Languages & Runtimes

- [C++ Function Bindings](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/native-c-interoperability/c-function-bindings/c-function-bindings.md) — Provides examples of linking C++ addons to the JavaScript runtime for low-level OS access.
