awesome-electron-alternatives icon indicating copy to clipboard operation
awesome-electron-alternatives copied to clipboard

A curated list of awesome Electron alternatives.

electron-alternatives

electron

  • Lets you write cross-platform desktop applications using JavaScript, HTML and CSS.
  • It is based on Node.js & Chromium.

Why electron-alternatives?

  • Large size
  • Resource (RAM) hogging
  • Source code protection (https://www.contextis.com/en/blog/basic-electron-framework-exploitation)
  • We would already have a web component in the system that can be used.
  • Electron apps cannot be submitted to the Apple store (https://news.ycombinator.com/item?id=21437255)

List of alternatives to electron

Consider Progressive Web Apps (PWA), if your app doesn't require any platform interactions.

"Progressive Web Apps might not be able to replace every kind of native application, but they can be viable replacements for some apps written with the Electron web wrapper technology". For more info https://www.androidpolice.com/2020/05/27/google-chats-desktop-application-is-now-a-progressive-web-app/

C# (.Net)

  • Orleans
  • Avalonia
  • Uno (Pixel-Perfect Multi-Platform Applications with C# and WinUI)
  • Chromely (Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, JavaScript, CSS)

C/C++

Crystal

  • Crystal Webview (Crystal language bindings for webview, a tiny cross-platform webview library which uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and Edge on Windows 10)

Dart

Go

Guile

Java

JS

  • NW.js (Similar to electron, provides Source code protection)
  • DeskGap (bundles a Node.js runtime and leaves the HTML rendering to the operating system‘s webview)
  • Neutralinojs (chromium module is replaced with either user’s web browser or built-in browser component. Node run-time is replaced with a lightweight web server which exposes native OS functionality)
  • Proton Native (does the same to desktop that React Native did to mobile, based on https://github.com/parro-it/libui-node)
  • React Native Desktop (Cross-platform React Native Desktop port based on Qt framework)
  • Vuido (creating native desktop applications based on Vue.js, based on https://github.com/parro-it/libui-node)
  • NodeGui (powered by Qt5, NodeGui-React, Vue NodeGui, Svelte-NodeGui)
  • reactxp (library for cross-platform app development using React and React Native)
  • quasar (Vue.js based framework, which lets web developer to quickly create responsive websites/apps)
  • nidium
  • electrino
  • graffiti
  • Tauri
  • Sciter.JS (Is a 5MB HTML/CSS/JS (ES6) runtime aimed as a direct Electron replacement)
  • Avernakis (Nodejs addon for Avernakis SDK, use TypeScript to develop modern desktop app with powerful UI kits.)

Kotlin

Perl

Python

Ruby

  • Glimmer (A Domain-Specific Language & metaframework for building GUI apps using Ruby, with bindings for various GUI libraries and also Web)
  • qtbindings (Ruby bindings for Qt)
  • tk (Ruby bindings for Tcl/Tk)
  • ruby-gnome (Ruby bindings from GNOME/GTK3)
  • JRubyFX (JRuby wrapper on JavaFX)
  • traveling-ruby (Runtime to bundle Ruby applications into executables)

Rust

Others

TO DO

  • https://github.com/jscherer92/Quark

Watch

  • Blazor (https://visualstudiomagazine.com/articles/2019/09/26/blazor-future.aspx)
  • ElectronCGI (https://www.npmjs.com/package/electron-cgi)