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/
How to get going with nui is explained here in detail: Installation
A template to get going can be found here: Template
Tested on:
- Ubuntu 20 (using clang15 and libstdc++10)
- Ubuntu 22 (using clang14 and libc++)
- Windows (using clang16 and current msys libstdc++)
- MacOS 13: (using clang16)
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
Planed:
- Android if this gets more traction here: webview/webview#871
To use them, see this repo: https://github.com/NuiCpp/ui5
Using Bootstrap and some custom CSS
Plenty found on https://nuicpp.org
Pull Requests are welcome, please format your changes and additions with clang-format (Ideally version 16+).
Nui uses the following dependencies:
- emscripten - LICENSE
- A nui maintained fork of webview/webview https://github.com/webview/webview - LICENSE
- boost under BSL License
- fmt https://github.com/fmtlib/fmt - LICENSE
- gtest https://github.com/google/googletest - BSL 3.0 LICENSE
- 5cript/interval-tree https://github.com/5cript/interval-tree - CC0 LICENSE
- 5cript/mplex https://github.com/5cript/mplex - MIT LICENSE
- nlohmann/json https://github.com/nlohmann/json - MIT LICENSE
- portable-file-dialogs https://github.com/samhocevar/portable-file-dialogs - WTFPL LICENSE
- 5cript/roar https://github.com/5cript/roar - BSL-1.0 LICENSE