Skip to content

Cross Platform Apps (Desktop)

October 28, 2023
May 3, 2022

avaloniaui
flutter
qt
rust#GUI
go-lang#GUI
zig-lang#GUI
v-lang

Cross-platform GUI Toolkit Trainwreck, 2016 Edition !important

Graphic User Interface FAQ β€” Python documentation

TODO: merge Dropbox/caravan/cross-platform-app

HTML Renderer

electron
nw-js

Tauri

Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps
tauri-apps/tauri: Build smaller, faster, and more secure desktop applications with a web frontend.
tauri-apps/tao: The TAO of cross-platform windowing. A library in Rust built for Tauri. fork of winit

Rust core + TypeScript UI

Rust, SolidJS, and Tauri: Create a cross-platform desktop app - LogRocket Blog
Tauri vs. Electron: A comparison, how-to, and migration guide - LogRocket Blog

astrodon/astrodon: Make Desktop apps with Deno πŸ¦•

Webview

Webview
webview
webview/meta: All about webview!

webview/webview_go: Go bindings for webview are in the webview repo.
webview/webview_deno: 🌐 Deno bindings for webview, a tiny library for creating web-based desktop GUIs
webview/webview_rust: [wip] Rust Bindings to webview

tauri-apps/wry: Cross-platform WebView library in Rust for Tauri.

Saucer

Saucer | Saucer
saucer/saucer: πŸ›Έ Next-gen desktop apps with web-frontend in C++

Quasar

Vue Component framework and cross platform app framework

Quasar Framework
QuasarCast

S08E016 Modern Web Podcast - Quasar with Luke Diebold

Lorca

zserge/lorca: Build cross-platform modern desktop apps in Go + HTML5
zserge/webview: Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and MSHTML (Windows)

Electron Apps Are Bad, So Now You Can Create Desktop Apps With HTML5 + Golang - Phoronix

Building modern desktop apps in Go - YouTube

sciter

sciter – Multiplatform HTML/CSS UI Engine for Desktop and Mobile Application

ElectricSQL

The standard sync layer for local-first apps

ElectricSQL - Sync for modern apps

Dear ImGui

Dear ImGui homepage
ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Bindings Β· ocornut/imgui Wiki

An introduction to the Dear ImGui library

Dear PyGui

Dear PyGui’s Documentation β€” Dear PyGui documentation
hoffstadt/DearPyGui: Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

epezent/implot: Immediate Mode Plotting

pyimgui

pyimgui/pyimgui: Cython-based Python bindings for dear imgui targeting old DearImGui
Pythonizing Imgui (feat. Cython) and contributing to open source. - YouTube

libui

andlabs/libui: Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

Introduction - Vuido
Building a Desktop App with Vue: Vuido - DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

microui

rxi/microui: A tiny immediate-mode UI library
Microui v2: An Implementation Overview | rxi

libmatoya

chrisd1100/libmatoya: Cross-platform application development. used by Parsec

IUP

IUP - Portable User Interface
KISS-UI/kiss-ui: A simple UI framework for Rust built on top of IUP (http://webserver2.tecgraf.puc-rio.br/iup/)

GTK

The GTK+ Project
GTK+ - Wikiwand
GLib - Wikiwand
List of language bindings for GTK+ - Wikiwand

threaded animation with cairo

Gtk – 3.0 docs
Documentation
How to Build GTK/Glade Graphical User Interfaces - YouTube

simple is better - GTK+/Glade

UI Designer

Glade - A User Interface Designer
Glade Interface Designer - Wikiwand

python - How to add a pygtk Widget to the Glade palette? - Ask Ubuntu
Custom python widgets in glade 3 - Stack Overflow

Gazpacho Interface Designer | ThinkPenguin.com

Which is the best GUI designer for GTK apps? - Stack Overflow

PyGTK

The Python GTK+ 3 Tutorial β€” Python GTK+ 3 Tutorial documentation

Python: Gtk 3 + Glade - YouTube
Python Gtk - GUI applications in Python with Gtk module

PyGObject bindings for GObject based libraries such as GTK+, GStreamer, WebKitGTK+, GLib, GIO and many more.
PyGObject API Reference

pip install pycairo PyGObject

stoq/kiwi: A graphical UI framework on top of PyGTK

PyGTK tutorial OBSOLETE, with gtk, not gi and Gtk

GtkSharp

GtkSharp | Mono
Mono.Cairo | Mono

GtkSharp/GtkSharp: .NET wrapper for Gtk and other related libraries
GtkSharp/Source/Libs/CairoSharp at develop Β· GtkSharp/GtkSharp
GtkSharp/Source/Samples at develop Β· GtkSharp/GtkSharp

GTK# tutorial
Drawing with Cairo in GTK#
Drawing with Cairo in GTK# II

Drawing with Cairo in GTK# II text
Mono.Cairo Tutorial | Mono text

[Gtk-sharp-list] Drawing pixbufs to screen FAST..
[Gtk-sharp-list] How can I save a cairo imagesurface as a pixbuf
gtk-sharp/CairoSample.cs at main Β· mono/gtk-sharp
GtkSharp/DrawingAreaSection.cs at develop Β· GtkSharp/GtkSharp

GammaBinding/GammaBinding at master Β· QualitySolution/GammaBinding gtk 2 project, showcase widget binding

jsGtk

Jsgtk by WebReflection
WebReflection/jsgtk: A simplified approach to GJS for Node.JS and JavaScript developers.
WebReflection/jsgtk-twitter: JSGtk Desktop Twitter Client based on Mobile Twitter

Writing Native Apps With JavaScript

Gtk-rs

Gtk-rs
gtk-rs org

NodeGUI

powered by QtWebView

Hello from NodeGui | NodeGui
nodegui/nodegui: A library for building cross-platform native desktop applications with Node.js and CSS πŸš€. React NodeGui : https://react.nodegui.org and Vue NodeGui: https://vue.nodegui.org
nodegui/packer: Package and deploy apps built with NodeGUI to all platforms

JS Party #96: Performant Node desktop apps with NodeGui featuring Atul R |> News and podcasts for developers |> Changelog
πŸ• Announcing NodeGUI and React NodeGUI - Build native desktop apps with Javascript and CSS πŸŽ‰ | Blog

Hello from React NodeGui | React NodeGui
nodegui/react-nodegui: Build performant, native and cross-platform desktop applications with native React + powerful CSS like styling.πŸš€

Hello from Svelte NodeGUI | Svelte NodeGUI
nodegui/svelte-nodegui: Build performant, native and cross-platform desktop applications with native Svelte + powerful CSS-like styling.πŸš€

Slint

GPLv3, targets desktop, embedded systems and the web
C++, Rust, JavaScript bindings

Slint - The fast and easy UI Toolkit

Kitware

Provides solutions for scientific data visualization

ITK | Insight Toolkit cross platform toolkit for 2D image
VTK - The Visualization Toolkit cross platform toolkit for 3D data

Skia

Skia

Used by Flutter, Android, Chrome, Firefox, Avalonia
Bindings in Go, C# and other languages

Olive.c

Olive.c
tsoding/olive.c: Simple 2D Graphics Library for C
Olive.c

C only frame buffer and toolkit
Use your own rendering library

Intermediate Graphics Library (IGL)

facebook/igl: Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU. It provides a single low-level cross-platform interface on top of various graphics APIs (e.g. OpenGL, Metal and Vulkan).

Meta announced 'IGL', a high-performance cross-platform graphics library | GamingOnLinux

PortableGL

rswinkle/PortableGL: An implementation of OpenGL 3.x-ish in clean C

SDL

Simple DirectMedia Layer - Homepage
FrontPage - SDL Wiki'

used by many games and PyGame as backend

GLFW

An OpenGL library | GLFW

wxWidgets

wxWidgets: Cross-Platform GUI Library
wxWidgets - Wikiwand

Binding to native GUI widgets.

wxPython

Welcome to wxPython! | wxPython
wxPython API Documentation β€” wxPython Phoenix documentation
wxPython API Documentation β€” wxPython Phoenix documentation
FrontPage - wxPyWiki
Wax - Python Wiki inactive

wxForty-Two Blog | wxPython
wxPython Tutorial - Tutorialspoint
wxPython tutorial - Python GUI programming in wxPython

wxPython Platform Inconsistencies - wxPyWiki
wxPython Custom Range Slider Widget

Go

Gio UI immediate mode, uses Go Mobile

Fyne

andlabs/ui: Platform-native GUI library for Go. based on my libui

therecipe/qt: Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly

Wails

Go backend + Web frontend

The Wails Project | Wails v2
Wails v1

Python

qt#Python

Best Python framework for building a desktop application and GUI - DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»
How to create a GUI application with Python | Opensource.com
3 UI frameworks for writing user-friendly applications in Python | Enable Sysadmin
5 Best Python GUI Libraries [Pros, Cons, and 5 Things to Consider to Choose] - YouTube

VPython

PyForms consistent UI on desktop, web and terminal

EasyGUI β€” easygui documentation

appJar
Building a PDF Splitter Application - Practical Business Python

pywebview

pywebview
r0x0r/pywebview: Build GUI for your Python program with JavaScript, HTML, and CSS

HTMX #5: Who Needs Electron!? Supercharge Your Desktop with a Jolt of HTMX, Flask, and PyWebView! - YouTube

PySimpleGUI

PySimpleGUI wraps multiple backends ("ports") under a single API
PySimpleGU - The "Ports"
Cookbook - PySimpleGUI
Python GUI Development With PySimpleGUI - YouTube

PySimpleGUI/PySimpleGUI
PySimpleGUI/PySimpleGUI.py at master Β· PySimpleGUI/PySimpleGUI Tkinter (default) implementation
PySimpleGUI/DemoPrograms at master Β· PySimpleGUI/PySimpleGUI

PySimpleGUIQt Β· PyPI Qt5
A Brief Intro to PySimpleGUI - The Mouse Vs. The Python
The Demos for PySimpleGUI - The Mouse Vs. The Python
Add GUIs to your programs and scripts easily with PySimpleGUI | Opensource.com
MikeTheWatchGuy/PySimpleGUI: Launched in 2018 Actively developed and supported
Learn How to Quickly Create UIs in Python - Towards Data Science

Tkinter

Forget Tkinter, which is designed 20 years ago.
need to install tcl and tk on &*nix host first

Tkinter tutorial - Python GUI programming with Tkinter
Graphical User Interfaces with Tk β€” Python documentation
Python GUI - tkinter - GeeksforGeeks
Python GUI Programming With Tkinter – Real Python
Python GUI Guide: Introduction to Tkinter - learn.sparkfun.com
TkDocs Home

guizero documentation modern API on Tkinter

ikus-soft / TKVue Β· GitLab Declarative Tkinter UI
Create a modern user interface with the Tkinter Python library | Opensource.com

libavg

WikiStart - libavg
libavg/libavg

BeeWare

Write once. Deploy everywhere.β€” BeeWare
BeeWare GitHub Org
BeeWare β€” BeeWare documentation
Togaβ€” BeeWare
Covered in Bees! Deploying an app to 6 platforms in 20 minutes - YouTube

Kivy

Kivy: Cross-platform Python Framework for NUI Development
Using Python for Mobile Development: Kivy vs BeeWare – dbader.org
Build a Mobile Application With the Kivy Python Framework – Real Python
Kivy tutorial - Build desktop GUI apps using Python - Like Geeks
Kivy Tutorials Python - YouTube Tech With Tim

kivy/buildozer: Generic Python packager for Android and iOS
Welcome to Buildozer’s documentation!

mvasilkov/kivy-2014: Rockivy is an app for learning guitar scales, written in Python for Kivy App Contest 2014.

.NET

Cross-Platform C# UI Technologies – ChristianFindlay.com
The Story About .NET Cross Platform UI Frameworks - The Half-Blood Programmer

worldbeater/Camelotia: Cross-platform demo file manager for cloud storages. Built with ReactiveUI, DynamicData, Akavache, Avalonia, Universal Windows Platform, Xamarin Forms and WPF, runs on Windows, Linux, Mac OS and Android.

ElectronCGI - A solution to cross-platform GUIs for .Net Core - The Blinking Caret
ElectronCGI - Cross Platform .Net Core GUIs with Electron - YouTube

MAUI

.NET Multi-platform App UI (.NET MAUI) | .NET
Introducing .NET Multi-platform App UI | .NET Blog
dotnet/maui: .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
dotnet/maui-samples: Samples for .NET Multi-Platform App UI (.NET MAUI)
.NET MAUI Community Toolkit documentation - .NET Community Toolkit | Microsoft Docs
CommunityToolkit/Maui: The .NET MAUI Community Toolkit is a community-created library that contains .NET MAUI Extensions, Advanced UI/UX Controls, and Behaviors to help make your life as a .NET MAUI developer easier
Goodbye Xamarin.Forms, Hello MAUI! | Syncfusion Blogs
The New .NET Multi-platform App UI | Xamarin Blog
A Journey to .NET MAUI | On .NET | Channel 9
Everything You Need To Create Windows Apps With C++

What Is .NET MAUI?
Introduction To .NET Multi-Platform App UI (MAUI) - An Overview

Learn .NET MAUI - Full Course for Beginners | Build cross-platform apps in C# - YouTube
Understanding .NET MAUI and the future of Xamarin | InfoWorld
Microsoft unveils .NET MAUI for cross-platform apps | InfoWorld
MAUI in .NET 6: Xamarin.Forms Does Desktop, but Not Linux or VS Code -- Visual Studio Magazine

System.Maui: The next evolution of what is found in Xamarin.Forms today.
System.Devices: The next evolution of what is found in Xamarin.Essentials today.

.NET MAUI (Mobile/Desktop) with VS Code? It's Complicated -- Visual Studio Magazine

Deep Introduction to .NET MAUI Handlers Architecture - Cool Coders

Blazor Desktop

First .NET 6 Preview Introduces Blazor Desktop -- Visual Studio Magazine
Microsoft's Lander on Blazor Desktop: 'I Don't See a Grand Unified App Model in the Future' -- Visual Studio Magazine

Xamarin

Microsoft acquired Xamarin in 2016 and it became part of .NET. MAUI is announced in 2020 as a replacement of Xamarin.Forms.

Xamarin - Wikiwand
Xamarin | Open-source mobile app platform for .NET
Xamarin Blog | An open source mobile platform for building Android, iOS, macOS, watchOS, and tvOS apps with .NET.

Xamarin.Forms | .NET
Xamarin.Forms documentation - Xamarin | Microsoft Docs
Xamarin.Forms XAML Basics - Xamarin | Microsoft Docs

Xamarin Developers - YouTube
Xamarin.Forms: More Productive and Beautiful Than Ever - YouTube
Xamarin 101 - YouTube
Xamarin.Forms 101 - YouTube

Mobile

Android & iOS Apps with Xamarin | .NET
Advanced Concepts and Internals - Xamarin | Microsoft Docs
iOS Advanced Concepts and Internals - Xamarin | Microsoft Docs

Developing Mobile Applications in .NET | DotNetCurry

xamarin/MobileBlazorBindings: Experimental Mobile Blazor Bindings - Build native mobile apps with Blazor
Experimental Mobile Blazor Bindings | Microsoft Docs
Learn Blazor For Cross-Platform Mobile Development Using Mobile Blazor Bindings
Blazor and Native Mobile Apps - ITNEXT

Uno Platform

Uno Platform - Home a Universal Windows Platform Bridge to allow UWP based code to run on iOS, Android, and WebAssembly
What is the Uno Platform?
How It Works - Uno Platform
unoplatform/uno: Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.

WinUI on Windows 7 - Yes, it's possible with Uno Platform - Uno Platform
A piece of Windows 10 is now running on WebAssembly, natively on iOS and Android - Uno Platform
Uno Platform How To Build A Single-Page Web App in XAML and C# with WebAssembly Using Uno Platform

Future-proofing .NET application development with the Uno Platform | InfoWorld