A portable C library for creating native GUI applications on Windows, Unix (GTK+), and macOS.
libui is a portable GUI library written in C that enables developers to create native desktop applications for Windows, Unix (using GTK+), and macOS. It provides a unified API that abstracts each platform's underlying GUI toolkit, allowing applications to maintain a native look and feel without platform-specific code.
C developers and those using language bindings (Go, Rust, Python, etc.) who need to build lightweight, cross-platform desktop applications with native UI components.
Developers choose libui for its simplicity, true native rendering, and minimal abstraction layer, avoiding the bloat of larger frameworks while ensuring applications integrate seamlessly with each operating system.
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
Uses Windows API, GTK+, and Cocoa directly, ensuring applications look and feel native on each OS without custom theming, as shown in the control gallery screenshots.
Provides a unified C API that works on Windows, Unix, and macOS with minimal code changes, simplifying deployment across platforms.
Focuses on core UI components like windows and buttons, avoiding bloat and making it easier to learn for basic applications, as emphasized in the philosophy.
Includes uiArea for custom drawing and plans for OpenGL integration, allowing for flexible UI enhancements beyond standard controls.
Offers official Go bindings and numerous community bindings for languages like Rust, Python, and JavaScript, expanding its usability across ecosystems.
Admitted as mid-alpha software with incomplete features, bugs on some platforms, and ongoing changes, making it risky for production use, as detailed in the Status section.
Lacks proper documentation; developers must rely on examples and partially documented headers, with the README stating documentation 'needs to be written'.
Critical features like trees, clipboard support, and advanced dialogs are not yet implemented, limiting its applicability for complex applications.
Requires Meson build system and has platform-specific requirements like MinGW limitations on Windows, which can be a hurdle for setup and integration.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
Fullstack app framework for web, desktop, and mobile.
A cross-platform GUI library for Rust, inspired by Elm
egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.