Adi2
About

Adi2 — an Ada GUI library, in your browser

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.