A GPU-accelerated, cross-platform C++ UI library with MVVM, data binding, and XML-based UI description.
GacUI is a GPU-accelerated C++ user interface library for building native, cross-platform applications. It provides MVVM architecture, data binding, and XML-based UI description, enabling developers to create high-performance desktop and web interfaces with a consistent codebase. The library supports Windows, Linux, macOS, and HTML5 via WebAssembly.
C++ developers building performant, cross-platform desktop applications or web interfaces via WebAssembly, especially those who prefer declarative UI patterns like MVVM and XML-based design.
Developers choose GacUI for its unique combination of GPU acceleration, true cross-platform native rendering, and flexible UI description through XML with optional dynamic loading. Its core/renderer separation and remote protocol enable advanced architectures like cross-process rendering and browser-based execution.
Native C++ UI library, cross-platform, MVVM and data binding, XML description, multi-language, core/renderer cross-process separation, etc
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Windows, Linux, macOS, and HTML5 via WebAssembly with native renderers, enabling consistent performance across desktop and web.
Built-in Model-View-ViewModel pattern with data binding allows declarative UI logic, reducing boilerplate C++ code as shown in the XML-based workflow.
Leverages GPU for rendering, enhancing performance for complex interfaces, which is a core focus stated in the library's philosophy.
XML UI descriptions with embedded Workflow script enable dynamic loading or static code generation, offering adaptability between runtime flexibility and optimized binaries.
Requires using GacGen.exe or GacBuild.ps1 for XML processing, managing multiple repos for different platforms, which adds overhead compared to simpler libraries.
Features like FFI integration and JavaScript support are marked as under development, and remote protocol lacks text box controls, limiting certain use cases.
Involves mastering XML, Workflow script, and MVVM patterns specific to GacUI, with documentation scattered across multiple pages, making onboarding challenging.