Use it when building Go desktop/mobile apps with ready-made Material widgets; the Go runtime and footprint are far larger than MCU-class targets.
Cross platform GUI toolkit in Go inspired by Material Design
- 28.7k
- Go
- BSD-3-Clause
embedded/cross-platform GUI toolkit (ultra-lightweight)
GuiLite is an ultra-small header-only C++ GUI library that renders widgets on everything from 24 MHz MCUs to desktop platforms with zero external dependencies.
Solves the same problem with a different architecture or at a different layer. Expect to rewrite the integration.
Use it when building Go desktop/mobile apps with ready-made Material widgets; the Go runtime and footprint are far larger than MCU-class targets.
Cross platform GUI toolkit in Go inspired by Material Design
Use it for a C#/XAML single-codebase targeting mobile/web/desktop; it is an entire app framework rather than a lightweight embeddable C++ core.
Open-source platform for building cross-platform native Mobile, Web, Desktop, and Embedded apps from a single C#/XAML codebase. Work from any IDE/CLI with Hot Reload, Visual Designer, MCPs, and Skills built for modern .NET workflows. 200M+ NuGet downloads.
Use it for Dart-based cross-platform mobile/web/desktop applications that need high-level widgets; the SDK is huge and cannot run on tiny MCUs.
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
Use it for desktop apps written in HTML/CSS/JS; Chromium/Node runtime is massive and not intended for embedded displays.
:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
Use it when you prefer declarative markup and bindings for Rust/C++/JS/Python; the compiler/runtime is much heavier than GuiLite's header-only core.
Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C++, JavaScript, or Python apps.
Use it for SwiftUI-style declarative UI in Swift across Apple/non-Apple platforms; no C/C++ lightweight embedded core.
A cross-platform declarative UI framework, inspired by SwiftUI.
Use it when the MCU/MPU has enough flash/RAM for a full-featured embedded UI toolkit; it has far richer widgets and styles but is not header-only or 4 KLOC.
LVGL is a free, full-featured embedded UI library for devices from small MCUs to 3D-capable MPUs, enhanced by LVGL Pro, a professional editor and tooling.
Use it when you need a full C embedded widget toolkit and can accept LGPL plus higher memory/flash usage; it is not header-only.
AWTK = Toolkit AnyWhere(a cross-platform embedded GUI)
Use it for desktop C++ apps needing native controls and mature widget toolkit; it is much larger and has no MCU support.
Cross-Platform C++ GUI Library
These projects were analysed and named GuiLite among their alternatives. The relationship is not symmetric — how GuiLite rates them is a separate judgement, made when GuiLite is analysed in its own right.
calls GuiLite “Choose it for a minimal C++ header-only UI library for resource-constrained embedded targets.”
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
calls GuiLite “Choose when you are targeting constrained or embedded platforms and a tiny header-only C++ GUI library is acceptable.”
A modern and customizable python UI-library based on Tkinter
calls GuiLite “Choose when you need a tiny header-only C++ UI layer for constrained/embedded targets instead of a full desktop component suite.”
Rust GUI components for building fantastic cross-platform desktop application by using GPUI.