# Erste Schritte

AURA ist ein C++20-Framework für native, touchfähige Oberflächen. Beschreibe deine UI in `.aura`, verbinde sie mit C++ und rendere mit Skia. SDL3 übernimmt Fenster und Eingabe.

## Voraussetzungen

Unter Linux: CMake ≥ 3.24, Ninja, GCC ≥ 13, OpenSSL und zlib mit Entwicklerdateien. Für die UI werden X11-Entwicklerdateien benötigt. Weitere Abhängigkeiten lädt CMake über FetchContent. Du brauchst Zugriff auf einen AURA-Checkout; derzeit wird hier kein öffentlicher Repository-Download angeboten.

## Bauen und starten

Im Wurzelverzeichnis des AURA-Checkouts:

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

## Das Framework erkunden

```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
```

Die Galerie zeigt Widgets, Eingabe, Layouts, Grafik, Animation, Medien und Laufzeitmodule. Optionale Module sind von den Buildoptionen abhängig. Sieh dir die [Demo-Dokumentation](demo.md) an.

## In dein Programm einbinden

```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` lässt `aurac` typisierten C++-Code erzeugen. Die Anwendung verbindet Zustandswerte und Signale. Für die Integration und einen vollständigen Programmeinstieg: [Die App-Seite](application.md).

## Vorschau ohne Neustart

```bash
build/dev/tools/aura-view/aura-view examples/hello
```

In VS Code öffnet `Ctrl+K V` die Vorschau; alternativ gibt es den Vorschau-Eintrag in der Statusleiste. Siehe [VS Code](vscode.md) und [aura-view](preview.md).

## Nächster Schritt

Lerne die [Sprache](language.md), [Zustand und Bindungen](state-bindings.md) und den [dynamischen Modus](dynamic.md) kennen.

## Im Browser ausprobieren

Der [Playground](../playground.html) führt editierbare AURA-Dateien lokal als Wasm aus. Die [Browser-Dokumentation](browser.md) erklärt den Build der vollständigen Hello-/Demo-Beispiele und die derzeitigen Plattformgrenzen.

## Zielplattform wählen

Die [Plattformübersicht](platforms.md) erklärt den Stand von Linux, Browser/WebAssembly, Windows, macOS und mobilen Systemen sowie die jeweiligen Modulgrenzen.
