Getting started
AURA is a C++20 framework for native, touch-enabled interfaces. Describe your UI in .aura, connect it to C++, and render with Skia. SDL3 handles windows and input.
Requirements
On Linux: CMake ≥ 3.24, Ninja, GCC ≥ 13, OpenSSL and zlib development files. The UI needs X11 development files. CMake downloads other dependencies through FetchContent. You need access to an AURA checkout; a public repository download is not currently offered here.
Build and run
From the root of your AURA checkout:
cmake --preset dev
cmake --build build/dev
ctest --test-dir build/dev
build/dev/examples/hello/aura-hello
Explore the framework
build/dev/examples/demo/aura-demo
build/dev/examples/demo/aura-demo --language en
build/dev/examples/demo/aura-demo --dynamic
build/dev/examples/demo/aura-demo --render-all /tmp/aura-demo
The gallery covers widgets, input, layouts, graphics, animation, media and runtime modules. Optional modules depend on your build options. See the demo documentation.
Add it to your application
add_subdirectory(aura)
add_executable(my-app main.cpp)
aura_add_ui(my-app FILES ui/main.aura)
target_link_libraries(my-app PRIVATE aura::ui)
aura_add_ui runs aurac to generate typed C++ code. Your application connects state values and signals. For integration and a complete application entry point, see The application side.
Preview without restarting
build/dev/tools/aura-view/aura-view examples/hello
In VS Code, Ctrl+K V opens the preview; a preview item is also available in the status bar. See VS Code and aura-view.
Next steps
Explore the language, state and bindings, and dynamic mode.
Try it in the browser
The playground runs editable AURA files locally as Wasm. The browser documentation explains how to build the complete Hello/demo examples and describes current platform limits.
Choose a target platform
The platform overview explains the status of Linux, browser/WebAssembly, Windows, macOS and mobile systems, along with platform-specific module limits.
website · Download Markdown