Adi2 is a modern GUI library for Ada — a
real widget toolkit with the niceties developers expect from a
modern UI stack, implemented natively in Ada on top of SDL3.
Free software under the Apache-2.0 license.
In production use —
public release coming soon.
Why Adi2?
- Style your UI like the web. Selectors,
pseudo-classes, parts, gradients, box shadows — all in
familiar
.css syntax, with HiDPI-ready
dp/rem units. Edit the file,
save, see the change: no recompile during development.
Prefer pure Ada? CSS rules are plain Ada aggregates you
can write by hand.
- Declarative — or not. Describe UIs in
XML and let the toolchain emit clean Ada packages, or
build the same widget tree directly in Ada. Both paths
target the exact same API.
- Animate without boilerplate. CSS
transitions on color, padding, shadows, opacity,
font-size — the framework handles interpolation and
timing.
- Render rich content. A built-in
lightweight HTML view renders documentation-style markup
with cascading styles. SVG graphics and animated images
are first-class widgets.
- Ship a single binary. CSS, fonts,
images, translations and SVG sprites bundle into the
executable — no filesystem needed at runtime.
- Speak the user's language.
Gettext-compatible i18n with plural forms and
.po → Ada compilation.
This showcase
- Every demo is the unmodified desktop example
program — the same Ada sources build anywhere
GNAT and SDL3 do: Linux, Windows, macOS, BSDs
- Compiled to WebAssembly with GNAT-LLVM, with native
wasm exception handling and a JSPI (stack-switching)
main loop
- Use the selector in the top bar to switch examples;
each one loads a few MB of WebAssembly — give it a
moment
- Best viewed in Chrome or Edge (JSPI
ships there); Firefox needs
javascript.options.wasm_js_promise_integration
enabled
Built with GNAT-LLVM
and AdaWebPack,
SDL3 / SDL3_ttf / SDL3_image and plutosvg. Adi2 is written by
Aldo Nicolas Bruno —
adi@aldustechnology.com.