Skip to content

NuiCpp/Nui

Repository files navigation

Nui

A C++ WebView UI Library. Nui enables you to build C++ user interfaces using a browser window tied to a main process.

Website: https://nuicpp.org

Documentation: https://nuicpp.github.io/nui-documentation/ AI Skill, which also is a pretty good TLDR: Skill

Setup

How to get going with nui is explained here in detail: Installation

A template to get going can be found here: Template

Platforms & Compilers

Tested on:

  • Ubuntu (using clang20 and libc++) example workflow
  • Windows (using clang20 and current msys libstdc++) example workflow
  • MacOS 13: (using clang16) example workflow

Not automatically tested but should work:

  • Windows with Visual Studio, vcpkg and clang_cl
  • Arch Linux
  • MacOS 14+
  • Other Linux Distributions with new enough packages for C++20

Not supported:

  • Mobile Platforms
  • BSD Systems

Examples

nui-sftp

nui-sftp is a terminal emulator, file explorer and ssh & sftp client built using nui. It is my nui dogfooding project. It is a good example of a non-trivial application built with nui, and is available here: https://github.com/5cript/nui-sftp

Example nui-sftp Example nui-sftp Settings

Using SAPUI5 Components

(WARNING: I experience serious performance problems caused by these components when 100+ components are used, because each and every single component calls getComputedStyle on creation causing forced reflows.) Example SAPUI5

To use them, see this repo: https://github.com/NuiCpp/ui5

Using Bootstrap and some custom CSS

Example Bootstrap

Other

More found on https://nuicpp.org

Contributing

Pull Requests are welcome, please format your changes and additions with clang-format (Ideally version 22+).

AI

For you AI Vibe Coders out there, I have created a claud skill file which also douples as a TLDR documentation. It is available here: Skill

Dependencies pulled by CMake

Nui uses the following dependencies:

About

A C++ WebView UI Library

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages