Gluon

Gluon is a new framework for creating desktop apps from websites, using system installed browsers (not webviews) and NodeJS, differing a lot from other existing active projects - opening up innovation and allowing some major advantages. Instead of other similar frameworks bundling a browser like Chromium or using webviews (like Edge Webview2 on Windows), Gluon just uses system installed browsers like Chrome, Edge, Firefox, etc. Gluon supports Chromium and Firefox based browsers as the frontend, while Gluon's backend uses NodeJS to be versatile and easy to develop (also allowing easy learning from other popular frameworks like Electron by using the same-ish stack).

Features

denobun

Trying Gluon

gluworldnpm installnode .
$ git clone https://github.com/gluon-framework/examples.git
$ cd examples
$ cd gluworld
$ npm install
...
$ node .

Status

Gluon began in December 2022 (from scratch), so is still in an early and experimental state. But it works and shows (in my opinion) potential! I am open to opinions, suggestions, feedback, ideas, etc. Currently you cannot easily test it yourself. If you're interested and want to talk to me and others about Gluon, you can join our Discord server.

Specific feature statuses

Feature Status
Using Chromium based browsers Stable
Using Firefox based browsers Experimental
Web-Node IPC Stable
Idle API Experimental
Using other JS runtimes (Deno/Bun) Experimental

Ecosystem

Apps


IPC API

Gluon has an easy to use, but powerful asynchronous IPC API. Example:


Comparisons

Internals

Part Gluon Electron Tauri Neutralinojs
Frontend System installed Chromium or Firefox Self-contained Chromium System installed webview System installed webview
Backend System installed or bundled Node.JS Self-contained Node.JS Native (Rust) Native (Any)
IPC Window object Preload Window object Window object
Status Early in development Production ready Usable Usable
Ecosystem Integrated Distributed Integrated Integrated

Benchmark / Stats

Basic (plain HTML) Hello World demo, measured on up to date Windows 10, on my machine (your experience will probably differ). Used latest stable versions of all frameworks as of 9th Dec 2022. (You shouldn't actually use random stats in benchmarks to compare frameworks, this is more so you know what Gluon is like compared to other similar projects.)

Stat Gluon Electron Tauri Neutralinojs
Build Size <1MB[^system][^gluon][^1] ~220MB ~1.8MB[^system] ~2.6MB[^system]
Memory Usage ~80MB[^gluon] ~100MB ~90MB ~90MB
Backend[^2] Memory Usage ~13MB[^gluon] (Node) ~22MB (Node) ~3MB (Native) ~3MB (Native)
Build Time ~0.7s[^3] ~20s[^4] ~120s[^5] ~2s[^3][^6]

Extra info: All HTML/CSS/JS is unminified (including Gluon). Built in release configuration. All binaries were left as compiled with common size optimizations enabled for that language, no stripping/packing done.

[^system]: Does not include system installed components. [^gluon]: Using Chrome as system browser. Early/WIP data, may change in future.

neu build -r