English's Github Trend's slide
Trending Slides
Japanese Github Trend's slide
Trending Slides
@gluon-framework
</span>
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
Uses normal system installed browsers - allows user choice by supporting most Chromium and Firefox based browsers, no webviews
Tiny bundle sizes - <1MB using system Node, <10MB when bundling it
Chromium and Firefox supported as browser engine, unlike any other active framework
Minimal and easy to use - Gluon has a simple yet powerful API to make apps with a Node backend
Also supports Deno (experimental) - Deno is also being worked as an option (developer choice) in replacement of NodeJS for the backend, check out the
deno
branchFast build times - Gluon has build times under 1 second on most machines for small projects
Actively developed and listening to feedback - new updates are coming around weekly, quickly adding unplanned requested features if liked by the community (like Firefox support!)
Cross-platform - Gluon works on Windows, Linux, and macOS (WIP)
Trying Gluon
Clone the Gluon examples repo
Inside of
gluworld
, runnpm install
Now do
node .
to run it!Shell example
sh $ git clone https://raw.githubusercontent.com/gluon-framework/examples.git $ cd examples $ cd gluworld $ npm install ... $ node .
Status
Gluon is currently barely a month old, 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.
readme
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/https://raw.githubusercontent.com/gluon-framework/gluon/tree/bun[Bun]) | Experimental |
Ecosystem
Gluon: the Gluon framework (NodeJS)
Glugun: builds Gluon apps into releasable builds with optional bundling (soon)
Apps
Gluworld: Hello World demo app with version info shown
Gludoom: Doom running as WASM, made into a native looking app with Gluon
Glucord: minimal desktop Discord client loading official webapp (demo/example)
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.)
Build Size
<1MB[1][2][3]
~220MB
~1.8MB[1]
~2.6MB[1]
Memory Usage
~80MB[2]
~100MB
~90MB
~90MB
Backend[4] Memory Usage
~13MB[2] (Node)
~22MB (Node)
~3MB (Native)
~3MB (Native)
Build Time
~0.7s[5]
~20s[6]
~120s[7]
~2s[5][8]
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.
neu build -r
.