The HuxerUI DSL
Learn component functions, braced children, .With(...), typed events, scopes, state, keys, and controlled values.
Start with DSL fundamentals
HuxerUI interfaces are ordinary C++ functions that return View values.
Braced containers describe children, typed modifiers configure reusable presentation, and typed events connect behavior without stringly typed property bags.
[[huxerui::scope]]View Counter() { auto count = UseState(0);
return Column { Text::Format("Count: {}", count), Button("Increment").OnClick([count] { count += 1; }), }.With( Padding(24.0F), Spacing(12.0F) );}The HuxerUI DSL
Learn component functions, braced children, .With(...), typed events, scopes, state, keys, and controlled values.
Start with DSL fundamentals
Components
Use focused pages for every built-in control, layout, navigation surface, and platform-facing component. Browse components
Build applications
Add navigation, presentation, resources, asynchronous work, files, HTTP, lifecycle, and window behavior. Create your first application
API reference
Find every public type, function, enum, field, and overload, grouped by the module that owns it. Open the API reference
Extend HuxerUI
Choose among component functions, custom layouts, virtual layouts, retained node behavior, root services, and platform integration. Choose an extension point
Tooling and delivery
Use the CLI, CMake package, SDK artifacts, diagnostics, testing, packaging, and release workflows as one coherent toolchain. Open the CLI reference
The shared runtime owns state observation, recomposition, reconciliation, layout, interaction, text editing, animation, accessibility semantics, and retained rendering. Platform adapters connect that model to Windows, macOS, Linux, Web, Android, and iOS services.
Use the guides for application-facing contracts. The framework repository’s architecture notes describe implementation decisions and are intentionally not duplicated here.