Rad-UI released! A new reactive, cross-platform C++20 UI framework
▲ 2 r/Cplusplus+2 crossposts

Rad-UI released! A new reactive, cross-platform C++20 UI framework

I just released my c++ 20 library for reactive UI development inspired by QML and slint.

I haven't worked on the project for a while and thought it has reached a usable state and wanted to share it.

What is included in the library:

- reactive framework with `Property<T>` type. Currently the reactive types are tied to the library internals and not for general use.

- Memory is managed for a great extent. You will never have to use `delete` or `new` except in the constructor of `std::unique_ptr<T>` if `std::make_unique` does not suffice.

- Mouse and Keyboard and Clipboard support.

- Smooth, powerful and easy to use animations.

- GPU rendering using direct2d on Windows and skia for anything else.

- High DPI support and frames are updated only when something changes.

- Complex text rendering using DirectWrite and skia paragraph supporting complex formatting and mixed RTL and LTR languages. Loading fonts from system, memory and files is supported.

- Support for Windows and X11 (and XWayland) with plans to support Wayland natively, macos and android.

- Ready to use UI components from material3 and fluent2 although most components are not implemented yet.

- Model View Delegate framework: ListView, TableView and TreeView along with basic models and delegates.

- Multiple top-level windows, modal windows and popups.

- Async, multithreading and networking support is provided through the RAD library.

- Many other things I may have forgotten to mention!

What is not included yet:

Documentation (the biggest thing!), accessibility, internal and external drag and drop, better multi paragraph text support, implement more UI components, embedded resources, translations and localization and a ton of other things.

Demonstration video:
https://youtu.be/QDgY-0hH1gs

I reduced the quality and FPS to reduce the size of the video

github.com
u/JlangDev — 1 day ago