Nuklear is an Unlicense or [[MIT License]]d GUI toolkit written in [[3. Reference/Software/Programming Languages/C|C]].
- [Website](https://immediate-mode-ui.github.io/Nuklear/doc/index.html)
- [Github](https://github.com/Immediate-Mode-UI/Nuklear)
- [Documentation](https://immediate-mode-ui.github.io/Nuklear/doc/index.html)
# Notability
Seems like a neat self-contained modern library for GUIs.
# Philosophy
> This is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default render backend or OS window/input handling but instead provides a highly modular, library-based approach, with simple input state for input and draw commands describing primitive shapes as output. So instead of providing a layered library that tries to abstract over a number of platform and render backends, it focuses only on the actual UI.
Inspired by [[GUI - ImGui]]
# OS Support
Seems to support [[Linux]], [[MacOS]], and [[Windows]].
## Bindings
There are language bindings to this library from these languages:
- [[Go|Golang]]
- [[Rust]]
- [[Nim]]
- [[Lua]]
- [[Python]]
- [[V]]
(as well as others)
# Features
- Immediate-mode graphical user interface toolkit
- Single-header library
- Written in C89 (ANSI C)
- Small codebase (~18kLOC)
- Focus on portability, efficiency and simplicity
- No dependencies (not even the standard library if not wanted)
- Fully skinnable and customizable
- Low memory footprint with total control of memory usage if needed / wanted
- UTF-8 support
- No global or hidden state
- Customizable library modules (you can compile and use only what you need)
- Optional font baker and vertex buffer output
- [Documentation](https://Immediate-Mode-UI.github.io/Nuklear/doc/nuklear.html)