Skip to content

sudhakar3697/awesome-electron-alternatives

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maintenance Maintainer Ask Me Anything ! GitHub license GitHub commits GitHub forks GitHub stars GitHub watchers GitHub contributors GitHub issues GitHub issues-closed GitHub open-pull-requests GitHub pull-requests closed GitHub branches made-with-markdown GitHub latest commit

A curated list of awesome Electron alternatives.

Electron is an open-source framework for creating desktop apps using web technologies as JavaScript, HTML and CSS. It combines the Chromium rendering engine and the Node.js runtime.

There are a number of good reasons to avoid Electron or consider something other than Electron:

  • Large size
  • Resource (RAM) hogging
  • Source code protection
  • We would already have a web component in the system that can be used.
  • Electron apps cannot be submitted to the Apple store
  • Minimal resources
  • Development platform like nodecode as Kodular, lowcode as Outsystems, database as a service as Astra DB, backend as service, mobile as a service, frontend as a service as Figma, banking as a service ...
  • visual programming paradigm (this includes solutions or technologies like development platform, blockly, serverless, dbdiagram and programming language as elm, python, v ...)
  • It is possible to develop games with Electron-js, but for good game development it is not recommended
  • create data analysis and statistics with js libraries and electron-js for dashboards, however it is also not recommended

👓 Alternatives to the Electron.js

You can click of the license badges to learn more, try it out on this one: License

C#(.Net)

Project Description License
Avalonia Avalonia UI creates pixel-perfect, native, create Multi-Platform Apps with .NET License
Uno Pixel-Perfect Multi-Platform Applications with C# and WinUI. License*
Chromely Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, JavaScript, CSS. License**
SpiderEye Cross platform .Net Core applications with a webview UI. License**
Photino.NET Photino uses the OSs built-in WebKit-based browser control for Windows, macOS and Linux. Photino is the lightest cross-platform framework. Compared to Electron, a Photino app is up to 110 times smaller! And it uses far less system memory too!. License
foton Prototype for an Electron alternative written in C# by Integrative Software LLC and contributors. License**

* Some features locked behind subscription

** Unmaintained

C/C++

Project Description License
Qt Qt (pronounced "cute") is free and open-source cross-platform software for creating graphical user interfaces as well as cross-platform applications. License OR License
wxWidgets wxWidgets is a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base. It has popular language bindings for Python, Ruby, Lua, Perl and several other languages. Uses a less restrictive version of the L-GPL allowing you to use a GPL license while still allowing you use it within proprietary software, click the badge to learn more. License
sciter Embeddable HTML/CSS/JavaScript engine for modern UI development. License
Ultralight Ultra-fast, ultra-light, standards-compliant HTML renderer for applications and games. Based on WebKit— supports most modern HTML5, CSS, and JavaScript features while still remaining light and configurable. License
Webview Tiny cross-platform webview library which uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and Edge on Windows 10. License
Molybden An SDK for building modern and secure cross-desktop apps with HTML/CSS/JavaScript GUI. License
Saucer 🛸 Next-gen desktop apps with web-frontend in C++. License
tiny This is a tiny alternative to electron. License*
UnityHub A native alternative to the heavy Electron Unity Hub, written in C++. UnityHubNative is a lightweight C++ / wxWidgets alternative to the unnecessarily heavy official Unity Hub, built using wxWidgets. This means that, instead of using heavy web components like the official Electron hub, it uses native GUI components on all platforms. It launches many times faster, uses far less memory and CPU, and is a fraction of the total size of the offical Unity Hub. License

* Unmaintained

Crystal

Project Description License
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) License

Dart

Project Description License
flutter Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase License

Delphi

Project Description License
FMX (FireMonkey) The FireMonkey® framework is the app development and runtime platform behind RAD Studio, Delphi and C++Builder. FireMonkey is designed for teams building multi-device, true native apps for Windows, OS X, Android and iOS, and getting them to app stores and enterprises fast. License

Elm

Project Description License
Elm UI UI library for making web applications with Elm. License*

* Unmaintained

Go

Project Description License
lorca Build cross-platform modern desktop apps in Go + HTML5. License
wails Create beautiful applications using Go. License
muon Lightweight alternative to Electron written in Golang in about ~300 LoC, using Ultralight instead of Chromium. License*
Fyne Cross-platform GUI toolkit in Go inspired by Material Design. License

* Unmaintained

Guile

Project Description License
guile-pstk PS/TK version fixed to work fine on modern GNU Guile License*
guile-webview Wrapper for using libwebview from GNU Guile License

* Unmaintained

Haskell

Project Description License
Fudgets Fudgets is primarily a Graphical User Interface Toolkit for Haskell and the X Windows system. Fudgets also makes it easy to create client-server applications that communicate via the Internet. It runs on Unix but not on Windows. License*
Keera Hails Keera Hails is a library to connect values that change with one another using rules or relations. Keera Hails is back-end agnostic and not exclusive to GUIs; it has backends for Gtk+ but also hardware (wiimotes), files, sockets and FRP-driven networks (using Yampa), and experimental backends for wx, qt, HTML DOM (using GHCJS) and Android's widget toolkit. It has been used commercially in production in medium-sized applications (10K-20K locs). License*
Threepenny-gui Threepenny-gui is a GUI framework that uses the web browser as a display. It supports Functional Reactive Programming. License
webviewhs webviewhs is a Haskell binding to the webview library created by Serge Zaitsev. This binding allows the creation of rich web-based UI experiences wrapped up in the powerful, type-safe embrace of Haskell. To render the UI it uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) on Windows. License
Monomer Monomer is an easy to use, cross platform, GUI library for writing native Haskell applications. It provides a framework similar to the Elm Architecture, allowing the creation of GUIs using an extensible set of widgets with pure Haskell. License

* Unmaintained

Java

Project Description License
Swing Swing is a GUI widget toolkit for Java.[1] It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs. *
OpenJFX or JavaFX JavaFX is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications. License
webview Template project for Android Studio that allows you to create an android webview application in minutes. You can use it to create a simple app for your website or as a starting point for your HTML5 based android app. **, ***
Vaadin Vaadin can integrate backend java (spring) with its own Hilla enviroment to connect in directly to React components - no need for api calls. Here is en example how to compile it in Electron for fully fledged desktop app: https://github.com/MarciaBM/electron-vaadin-hilla-template License****

* Unclear - Look to your java runtime/distrbution for details

** Unmaintained

*** No license provided, USE AT OWN RISK

**** Core is free, but some features are locked behind a subscription

Javascript/TypeScript

Project Description License
Sciter.JS Is a 5MB HTML/CSS/JS (ES6) runtime aimed as a direct Electron replacement. License
electrino Desktop runtime for apps built on web technologies, using the system's own web browser engine. License *
nidium A powerful rendering engine for modern mobile applications. Unlike many solution, nidium doesn't rely on webviews or native OS widgets. Instead, it uses its own high-performance rendering engine to draw custom widgets. License *
modern-hta Run modern code in an HTML Application. License
React Native Desktop Cross-platform React Native Desktop port based on Qt framework. *, **
NodeGui Powered by Qt5, NodeGui-React, Vue NodeGui, Svelte-NodeGui License
Astrodon Desktop App Framework (not there yet!) for Deno, based on Tauri License *
webview_deno 🌐 Deno bindings for webview, a tiny library for creating web-based desktop GUIs License
DeskGap bundles a Node.js runtime and leaves the HTML rendering to the operating system‘s webview). License *
NW.js Similar to electron, provides Source code protection). License
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). License
Proton Native does the same to desktop that React Native did to mobile, based on libui-node. License *
Graffiti HTML/CSS engine for node.js and deno. License *
Gluon Uses normal system installed browsers (not webviews) and NodeJS, also supports Firefox. License *
Avernakis Nodejs addon for Avernakis SDK, use TypeScript to develop modern desktop app with powerful UI kits. License *
WelsonJS Build Windows desktop apps with JavaScript, HTML, and CSS based on WSH/HTA or GTK. License License
Vuido Creating native desktop applications based on Vue.js, based on libui-node License *
quasar Vue.js based framework, which lets web developer to quickly create responsive websites/apps. License
ProtonShell Lightweight shell for websites, simple web applications, built on the Microsoft Edge system browser. * *
Electrobun Electrobun aims to be a complete solution-in-a-box for building, updating, and shipping ultra-fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood, it uses bun to execute the main process and to bundle webview typescript, and has native bindings written in zig. License: MIT

* Unmaintained

** No license provided, USE AT OWN RISK

Julia

Project Description License
MouseTrap GUI Engine made for Julia License

Kotlin

Project Description License
Compose Multiplatform Declarative framework for sharing UIs across multiple platforms. Based on Kotlin and Jetpack Compose. Developed by JetBrains and open-source contributors. License

Nim

Project Description License
nimx Desktop, Mobile & Web GUI framework in Nim. License
NiGui A cross-platform, desktop GUI toolkit. License
ui Wrapper for libui. Beginnings of what might become Nim's official UI library. License
iup Wrapper for IUP. Beginnings of what might become Nim's official UI library. License
SDL2 Official wrapper for SDL 2.x. License
SDL2 A wrapper for SDL 2. License
Owlkettle Declarative user interface framework based on GTK. License
wNim Nim's Windows GUI Framework. License
gintro High-level GObject-Introspection based GTK3/GTK4 bindings for Nim. License
nimqml Qt QML bindings for the Nim programming language. License
Neel A library for making Electron-like HTML/JS GUI apps. License
nimview A Nim/Webview based helper to create desktop/server applications with Nim and HTML/CSS. License
webgui Web technologies based cross-platform GUI Framework with a dark theme. License
fidget Figma based UI library for Nim, with HTML and OpenGL backends. License
imgui ImGui bindings for Nim via cimgui. License
nimAntTweakBar Wrapper for AntTweakBar. *, **
ggplotnim A port of ggplot2 for Nim. License
plotly A plotly wrapper for Nim. License
graph A basic plotting library in Nim. License
nimetry Simple plotting in pure Nim. License
nimgraphviz A Nim library for making graphs with GraphViz and DOT. *, **

* Unmaintained

** No license provided, USE AT OWN RISK

No-code\Low-code

Project Description License
Kodular Much more than a modern app creator without coding License
Bubble Design, develop, and launch production-grade applications without code. It doesn't matter if you’re starting out or on an enterprise team — Bubble is for anyone. License

Pascal/FreePascal

Project Description License
Lazarus The professional Free Pascal RAD IDE. It is a Delphi compatible cross-platform IDE for Rapid Application Development. License

Perl

Project Description License
Gtk Gtk3 - Perl interface to the 3.x series of the gtk+ toolkit. License
Prima Prima - a perl graphic toolkit. License
Perl Executing Browser Perl Executing Browser (PEB) is an HTML user interface for Perl 5 desktop applications. It is a C++ Qt 5 application running local Perl scripts as child processes without server. Inspired by Electron and NW.js, PEB is another reuse of web technologies in desktop applications with Perl doing the heavy lifting instead of Node.js. License
Tk Perl/Tk is an extension for writing Perl programs with a Graphical User Interface (GUI) on both Unix and Windows 95/NT. Tk was originally developed as an extension to the Tcl language, for use with the X Window System on Unix. License
Tkx Tkx - Yet another Tk interface. License
Wx The Wx module is a wrapper for the wxWidgets (formerly known as wxWindows) GUI toolkit. License

PHP

Project Description License
NativePHP NativePHP is a new framework for rapidly building rich, native desktop applications using PHP, HTML, CSS, Javascript. License
PHP TkUI Build native desktop applications using PHP and Tcl/Tk. **

** No license provided, USE AT OWN RISK

Python

Project Description License
fbs Python and Qt are great for writing lightweight desktop apps. But packaging, installers, code signing and automatic updates are a pain. fbs solves these problems and saves you months of development. License
PyQt PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. License OR License
PySide PySide is a Python binding of the cross-platform GUI toolkit Qt. License OR License
Kivy The Open Source Python App Development Framework. Build and distribute beautiful Python cross-platform GUI apps with ease. Kivy runs on Android, iOS, Linux, macOS and Windows. License
PyGUI An project to develop a cross-platform pythonic GUI API. License
Flet The fastest way to build Flutter apps in Python. License
Eel A little Python library for making simple Electron-like HTML/JS GUI apps. License *
wxPython Cross-platform GUI toolkit for the Python language. With wxPython software developers can create truly native user interfaces for their Python applications, that run with little or no modifications on Windows, Macs and Linux or other unix-like systems. License
Tkinter The Tkinter module or "Tk interface" is the standard Python interface to the Tk GUI toolkit. Both Tk and Tkinter are available on most Unix platforms, as well as on Windows systems. Tk itself is not part of Python; it is maintained at ActiveState. **
pywebview Build GUI for your Python program with JavaScript, HTML, and CSS. License
Pysimplegui PySimpleGUI creates graphical user interfaces (GUIs) using Python, quickly and easily!. License
NiceGUI NiceGUI is an approachable web-based UI toolkit for Python that can self-host with auto-refresh as you update the source, with a rich set of UI widgets. License
Toga Toga is a Python native, OS native, cross-platform GUI toolkit. Toga consists of a library of base components with a shared interface to simplify platform-agnostic GUI development. License
Pyloid Pyloid is the Python backend version of Electron and Tauri, providing an open-source project that allows you to easily utilize various Python integration features License

* Unmaintained

** Unclear

R

Project Description License
gWidgets API for writing graphical user interfaces (GUIs) within R. The package is cross-platform (Linux/Mac/Windows) and cross-toolkit (RGtk2, qtbase, tcltk). License
fGui Rapidly create a GUI interface for a function you created by automatically creating widgets for arguments of the function. Automatically parses help routines for context-sensitive help to these arguments. The interface essentially a wrapper to some Tcl/Tk routines to both simplify and facilitate GUI creation. More advanced Tcl/Tk routines/GUI objects can be incorporated into the interface for greater customization for the more experienced. License
Shiny Easy web apps for data science without the compromises License

Reason

Project Description License
revery-ui Fast, native, cross-platform UI. License

Rebol

Project Description
Native Gui The primary objectives of the R3 GUI have been clearly stated in prior documents. However, to be sure we're all in sync: the GUI is designed to make simple apps simple, and sophisticated apps possible. That is, you really can write a useful app in just a few lines of GUI dialect, and a full scale app may require just a few dozen pages
Project Description License
Drawing Draw is a dialect (DSL) of Red language that provides a simple declarative way to specify 2D drawing operations. Such operations are expressed as lists of ordered commands (using blocks of values), which can be freely constructed and changed at run-time. License
Native GUI The Red/View (or just View) component is a graphic system for the Red programming language. License
Layout VID stands for Visual Interface Dialect. Its purpose is to provide a simple dialect (DSL) for describing graphic user interfaces on top of the Red View engine. License

Ruby

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

Rust

Project Description License
gtk-rs Rust bindings for GTK. License
tauri Build smaller, faster, and more secure desktop applications with a web frontend. License and/or License
GPUI A fast, productive UI framework for Rust from the creators of Zed. License
Are we GUI yet? The state of building user interfaces in Rust. A collection of gui frameworks and libraries in rust. ---

V

Project Description License
ui Isaiah's cross-platform GUI library for V. Inspired by the syntax of Java's Swing. License
mui A Cross-Platform UI Library in vlang License
viup A V wrapper for the cross-platform UI library, IUP. License
vi-v Vi-v is a visual scripting UI for vlang. It allows anyone to create their own programs easily without an extensive programming skill. License
vxui vxui is a cross-platform desktop UI framework which use your browser as screen, and use V lang as backend. It reply on Websocket, no http/https, no web server! License

Visual programming

Project Description License
Blockly Blockly is a visual programming editor by Google that uses drag-and-drop blocks. It's the engine that powers the most popular coding education programs world. License

📖 Related work

  • Livecode: Lightweight language with [native GUI], integrated IDE, and visual interface builder.
  • Positron: List of electron apps so I can avoid them, and some alternatives to use instead
  • Awesome Alternatives to Electron Apps: Electron is an application platform which spreads like a cancer in software development world making your immensely powerful computer feel slow and laggy. Sometimes apps made in Electron are useful, though. This list contains good alternatives to an memory hungry eco-unfriendly Electron software.
  • Comparison of Browser Engines: A browser engine (also known as a layout engine or rendering engine) is a core software component of every major web browser. The primary job of a browser engine is to transform HTML documents and other resources of a web page into an interactive visual representation on a user's device. Besides "browser engine", two other related terms are commonly used: "layout engine" and "rendering engine". In theory, layout and rendering (or "painting") could be handled by different engines. In practice, however, these components are tightly coupled and rarely encountered on their own outside of the browser engine.
  • Web To Desktop Framework Comparasion: This repository was made to create an objective comparison of multiple framework that grant us to "transform" our web app to desktop application formats.
  • Awesome-electronjs-hacking: A curated list of awesome resources about Electron.js (in)security
  • Qt: Qt (pronounced "cute") is free and open-source cross-platform software for creating graphical user interfaces as well as cross-platform applications
  • jscherer92/Quark: Create Applications with browser technologies using the native engine in your OS.
  • Xojo: Build Native, Cross-Platform Apps.Rapid application development for Desktop, Web, Mobile & Raspberry Pi.
  • LambdaNative: LambdaNative is freely available under the BSD license, extensively documented, and hosted on GitHub. LambdaNative builds native applications on a wide range of platforms including iOS, Android, Blackberry, OS X, Linux, Windows, OpenBSD, NetBSD, FreeBSD and OpenWrt, from a single source code.
  • REVERY: Fast, native, cross-platform UI.
  • 8th: 8th lets you use your preferred platform to write and test your code. With one click, you generate the executables for any platform 8th supports, from any platform it supports!.
  • CEF: Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.
  • yue/yue: A library for creating native cross-platform GUI apps.
  • Godot: Godot Engine – Multi-platform 2D and 3D game engine.
  • HaxeUI Haxe based cross platform (desktop, mobile, web) UI framework
  • HTA/HTML Application: HTML Application or "HTA" is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript. The HTML is used to generate the user interface, and the scripting language is used for the program logic. An HTA executes without the constraints of the internet browser security model; in fact, it executes as a "fully trusted" application.

📚 Notes

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/

See this: Blazor, ElectronCGI.

❤ Contributions

awesome-electron-alternatives is open to contributions, but I recommend creating an issue or replying in a comment to let me know what you are working on first that way we don't overwrite each other.

Please read CONTRIBUTING.md for details on this project. If you have any questions, feel free to open an issue. And feel free to improve this list by contributing!

📑 License

  • Inspired by the awesome list.
  • Electron-alternatives is licensed with MIT by sudhakar3697 and contributors.
  • The logo of this project is authored, created or licensed by the Electron-js community (brand, open source project), but has no direct relationship with this repository.

🙌 Contributors

About

A curated list of awesome Electron alternatives.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project