NATIVE UI FRAMEWORK

Application UI Runtime Architecture

Interfaces.
In your hands.

A clear language for your UI. The full control of C++. AURA brings declarative interfaces to a native runtime — from your first widget to a complete kiosk.

C++20 · Skia · SDL3 · Made for touch
hello.aura● LIVE
Dialog Hello {
    property int count
    size: screen.width, screen.height

    Rect button {
        size: 260, 64
        color: #5947ff
        onTap: { state.count += 1; }
        Text {
            text: "Taps: " + str(count)
            place: center
        }
    }
}

Web demonstration

Try it live

Interactive web reproduction · Native examples below · Edit AURA live ↗

One connected stackC++20SkiaSDL3QuickJS / LuaCMake
The building blocks

From the first idea
to the final pixel.

Layout, interaction and runtime work together. You describe the interface; AURA connects the pieces.

01 /

Declarative, down to the details

Components, anchors, layouts and typed properties. A small language for clearly structured interfaces.

The language ↗
02 /

Native graphics. Directly.

Skia for text, vectors and images. Plus video, Rive animations and optional WebViews.

Graphics & rendering ↗
03 /

State that connects everything

Bindings keep your interface current. Records, lists and states give your data structure.

State & bindings ↗
04 /

See what you are building

Live preview in VS Code, dynamic loading and window-free PNG rendering.

aura-view ↗
05 /

A runtime for your application

Tasks, timers, processes, data formats and devices. C++ building blocks even without graphics.

The application side ↗
06 /

Built to connect

HTTP and TLS, remote control, and JavaScript and Lua behind one shared API.

Framework overview ↗
TARGET PLATFORMS

Native at the terminal.
Available in the browser.

Linux is the native reference platform. The WebAssembly port brings the shared UI runtime to the browser. The porting status of other systems is documented clearly.

x86_64 · ARM64

Linux

Native reference platform for desktops, touch terminals and kiosks. SDL3 connects available display and input backends.

WebAssembly · Emscripten

Browser

The real AURA runtime in a canvas: Hello, gallery and editable playground. Operating-system services have specific limits.

Porting paths prepared

Windows / macOS

Skia packages and graphics build paths exist. A complete platform port with system services and tests is still outstanding.

Platforms & requirements ↗
The architecture

Your UI is declarative.
Your application stays C++.

One .aura file, two execution paths: typed C++ code at build time, dynamic loading during development. Context, state and signals connect them.

Explore the architecture ↗
Your interface.aura
Typed · dynamicaurac / Loader
Scene graph & runtimeC++20
Rendering & inputSkia / SDL3
The development flow

Less distance between
your code and your interface.

01

Describe

Components, layouts and states in .aura. Readable, typed and close to your interface.

02

Connect

C++ provides data and handles signals. Small UI reactions can use JavaScript or Lua.

03

Refine

Save, inspect the preview and keep working. Generate C++ for the production build.

Your first window
is just a build away.

Start with Hello, explore the gallery and develop your interface directly in the preview.

Take the first steps ↗
terminal
$ cmake --preset dev
$ cmake --build build/dev
$ build/dev/examples/hello/aura-hello

Search for topics, widgets or APIs.