Awesome Desktop JS
A curated list of awesome packages and frameworks for implementing JavaScript applications on the desktop.
Contents
GUI Frameworks
Chrome
- Electron - a Node.js and Chromium runtime to build cross platform desktop apps
- nw.js - a Node.js and Chromium runtime to build cross platform desktop apps
Web
- Neutralino - a runtime to build desktop apps using the system's own web browser (Windows, macOS, Linux)
- Electrino - a runtime to build desktop apps using the system's own web browser (macOS only)
- Quark Shell - a runtime to build desktop apps using the system's own web browser (macOS only)
- Quark - a runtime to build desktop apps using the system's own web browser (Windows only)
- carlo - a runtime to build desktop apps using the system's installed version of Google Chrome
- graffiti - build desktop apps with react-native API, render them on GPU using Servo WebRender (Linux, macOS, and Windows)
- DeskGap - a runtime to build desktop apps using Node.js and the system's own web browser (macOS 10.10+, Windows 1809+ and Ubuntu 16.04+)
- azula - a GPU accelerated HTML GUI for native JavaScript applications (Windows only, based on Ultralight)
- Ultralight - lightweight, cross-platform, pure-GPU, HTML rendering engine for desktop apps and games. (macOS Sierra or later, Windows 7+ and Ubuntu or Debian 9.5+)
- Tauri - a runtime using the system's native webview with Rust backend (Windows, macOS, Linux)
- deno_webview - This project provides deno bindings for webview using the webview rust bindings. Currently supports Linux & Windows.
- Kraken - a web rendering engine, built on Flutter.
- Socket Runtime - a runtime using the system's native webview for creating native cross-platform software on mobile and desktop. It also exposes primitives needed for building peer-to-peer and local-first applications, such as Bluetooth, UDP and File I/O.
LibUI
- libui-node - Node.js native desktop GUI framework to build cross-platform (Windows, macOS, Linux) apps.
- vuido - a Vue.js environment to build cross platform native desktop apps
Qt
- Brig - a user interface toolkit based on Qt to build cross-platform apps
- Quark - create cross platform desktop apps with Node.js and QML
- NodeGUI - a library powered by Qt5 for building cross-platform native desktop applications with JavaScript and CSS
- proton-native a React.js environment to build cross platform native desktop apps
Flexbox
- Yoga - a layout engine which implements Flexbox to build cross-platform (node, browser asm, and standalone) apps
- Yue - create cross platform desktop apps with Node.js and flexbox (via yoga)
System Tray
- trayballoon - a system tray balloon on Windows
- systray2 - a system tray icon and menu (Windows, macOS, Linux)
- menubar - easily create a menubar Electron app (macOS only)
- xtray - create a native menubar app via a node.js β Swift bridge using objc runtime (macOS only)
- positron-bar - Electron bar for (Linux only)
Packaging
- nexe - a cli which compiles your Node.js app into a single executable
- pkg - a cli which compiles your Node.js app into a single executable
- node-packer - a cli which compiles your Node.js app into a single executable
- nectarjs - a cli which compiles your Node.js app into a single executable (Linux, Windows, WebAssembly, Arduino)
- lone - a cli which compiles your Node.js app into a single executable
- enclose - a cli which compiles your Node.js app into a single executable
- launchui-packager - an API which packages GUI Node.js applications (Linux, Windows, macOS)
- nbin - a cli which compiles your Node.js app into a single executable
- boxednode - a cli (and API) which compiles your Node.js file into a single executable
- caxa - a cli (and API) which compiles your Node.js app into a single executable
License
To the extent possible under law, styfle has waived all copyright and related or neighboring rights to this work.