### Keyboard Shortcuts

Go Home `H`
Go to GitHub `G`
Toggle theme `T`
Show shortcuts`?`
Press Esc or ? to close

# Gelectron

Drop-in replacement for Electron using native web views (WKWebView / WebView2 / WebKitGTK) instead of bundling Chromium. Just run gelectron . instead of electron .

View on GitHub
Website Early Development Rust + Node.js MIT License
--
Stars
--
Forks
--
Issues
--
Language

## Features

Why Gelectron exists

###
Drop-in Replacement

Run gelectron . instead of electron . and your app just works. Same Node.js code, same require('electron') imports, zero changes needed.

###
Native Web Views

Uses the OS-native renderer on every platform — WKWebView on macOS/iOS, WebView2 on Windows, WebKitGTK on Linux. No bundled browser engine.

###
Electron API Compat

Implements core Electron APIs: app, BrowserWindow, ipcMain/ipcRenderer, Menu, Tray, Dialog, Shell, Notification, nativeImage, contextBridge, and more.

###
Smaller Binaries

No Chromium bundle means binaries are a fraction of Electron's size. Rust static linking keeps them lean. No more 150MB+ apps.

###
Lower Memory

Native web views don't need a separate Chromium process per window. Less overhead, less RAM, snappier feel. Your users will notice.

###
Built with Rust

Core engine written in Rust for safety and performance. N-API addon bridges Rust and Node.js seamlessly.

## Tech Stack

- Rust (core engine, N-API addon)
- Node.js (CLI, Electron compat layer)
- Servo (rendering engine)
- winit (window management)
- muda (native menus)
- tray-icon (system tray)
- rfd (file dialogs)
- Stylo (CSS engine)
- WebRender (GPU compositor)

## Status

Gelectron is in very early development. This is an experiment — a proof of concept that Electron apps can run using native web views instead of bundling Chromium. Many Electron APIs are currently stubs or incomplete. Some things will break. Some things don't exist yet.

The goal right now isn't to replace Electron for production apps. It's to explore whether this is possible, learn how Electron's internals work, and build a foundation that could grow into something real.

If you're curious, try it out with a simple Electron app. If you find bugs, open an issue. If you want to contribute, even better.

## Known Limitations

- Servo is still in active development; some web APIs may be missing
- electron-updater requires custom implementation (not yet included)
- Some Electron APIs are stubs
- Native menu integration is platform-dependent
- Auto-updater not yet implemented
- Single-window only in initial version

## Roadmap

- Full Servo integration
- Multi-window support
- Custom protocol handlers (gelectron://)
- Auto-updater implementation
- DevTools integration
- Build/package tools for distribution
- App sandboxing
- Performance optimizations

View on GitHub Back to Projects