Git Product home page Git Product logo

awesome-electron-alternatives's Introduction

๐Ÿ‘“ Awesome Electron.js Alternatives

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:

๐Ÿ‘“ Alternatives to the Electron.js โš›

C#(.Net)

  • Orleans: Cloud Native application framework for .NET
  • Avalonia: Avalonia UI creates pixel-perfect, native, create Multi-Platform Apps with .NET
  • 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
  • SpiderEye: Cross platform .Net Core applications with a webview UI
  • 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!
  • foton: Prototype for an Electron alternative written in C# by Integrative Software LLC and contributors

C/C++

  • Qt: Qt (pronounced "cute") is free and open-source cross-platform software for creating graphical user interfaces as well as cross-platform applications
  • 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
  • sciter: Embeddable HTML/CSS/JavaScript engine for modern UI development
  • 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.
  • Webview: Tiny cross-platform webview library which uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and Edge on Windows 10.
  • Molybden: An SDK for building modern and secure cross-desktop apps with HTML/CSS/JavaScript GUI.

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

  • flutter: Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.

Go

  • lorca: Build cross-platform modern desktop apps in Go + HTML5
  • wails: Create beautiful applications using Go
  • muon: Lightweight alternative to Electron written in Golang in about ~300 LoC, using Ultralight instead of Chromium.

Guile

Java

  • 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.

JS/Nodejs

  • WelsonJS: Build Windows desktop apps with JavaScript, HTML, and CSS based on WSH/HTA or GTK.
  • 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 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 libui-node
  • NodeGui: Powered by Qt5, NodeGui-React, Vue NodeGui, Svelte-NodeGui
  • quasar: Vue.js based framework, which lets web developer to quickly create responsive websites/apps
  • 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.
  • electrino: Desktop runtime for apps built on web technologies, using the system's own web browser engine
  • graffiti: HTML/CSS engine for node.js and deno.
  • 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.
  • Gluon Uses normal system installed browsers (not webviews) and NodeJS, also supports Firefox
  • modern-hta: Run modern code in an HTML Application

Kotlin

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

Perl

  • Gtk: Gtk3 - Perl interface to the 3.x series of the gtk+ toolkit
  • Prima: Prima - a perl graphic toolkit
  • 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.
  • Tkx: Tkx - Yet another Tk interface
  • Wx: The Wx module is a wrapper for the wxWidgets (formerly known as wxWindows) GUI toolkit.

PHP

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

Python

  • 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.
  • 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.
  • PySide: PySide is a Python binding of the cross-platform GUI toolkit Qt.
  • 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.
  • PyGUI: An project to develop a cross-platform pythonic GUI API.
  • Flet: The fastest way to build Flutter apps in Python.
  • Eel A little Python library for making simple Electron-like HTML/JS GUI apps.
  • 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.
  • 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

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

  • gtk-rs: Rust bindings for GTK
  • revery-ui: Fast, native, cross-platform UI
  • tauri: Build smaller, faster, and more secure desktop applications with a web frontend.

Delphi

  • 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.

๐Ÿ“– Related work

  • tiny: This is a tiny alternative to electron
  • Livecode: Lightweight language with [native GUI], integrated IDE, and visual interface builder
  • 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
  • Red: Full-stack lightweight language with native GUI, layout and drawing DSLs
  • 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

awesome-electron-alternatives's People

Contributors

sudhakar3697 avatar jim4067 avatar wesamdev avatar kikytokamuro avatar sasha0552 avatar rerender2021 avatar zoeleu avatar imf4ll avatar hadisajjadi avatar vladimir-ikryanov avatar androidovshchik avatar sujaldev avatar barsv avatar sebthom avatar keraf avatar katafrakt avatar paulocoghi avatar omrisama avatar oclero avatar skoro avatar mherrmann avatar loziniak avatar ledunguit avatar jehong-ahn avatar gcanyon avatar canadahonk avatar adityaprasadv1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.