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:

bash
cmake --preset dev
cmake --build build/dev
ctest --test-dir build/dev
build/dev/examples/hello/aura-hello

Explore the framework

bash
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

cmake
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

bash
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.

Documentation source: website · Download Markdown

Search for topics, widgets or APIs.