HeadlinesBriefing favicon HeadlinesBriefing.com

Adi2: Moderne Ada GUI-Bibliothek mit CSS, XML, SDL3

Hacker News •
×

Adi2 ist eine moderne GUI-Bibliothek für Ada, die ein natives Widget-Toolkit mit CSS-ähnlichem Styling, deklarativen XML-Layouts, Animationen, SVG- und Lottie-Grafiken, Internationalisierung und Asset-Bundling bietet — alles auf SDL3 basierend. Aktuell in der Produktion eingesetzt, aber noch kein stabiler Release; APIs können sich zwischen Versionen ändern.

Gestalten Sie UIs mit vertrauter CSS-Syntax einschließlich Selektoren, Pseudoklassen, Übergängen, Verläufen und Schatten. Ändern Sie CSS-Dateien und sehen Sie Änderungen sofort dank Live-Reload — während der Entwicklung ist kein Neukompilieren erforderlich. Alternativ schreiben Sie Stile als einfache Ada-Aggregaten. Beschreiben Sie Schnittstellen deklarativ in XML (<button>, <grid>, <text-editor>) mit von der Toolchain generierten Ada-Paketen, oder erstellen Sie Widget-Bäume direkt in Ada mit handle-basierten Buildern.

Rendern Sie reichen Inhalt über ein leichtes HTML-View-Widget, Rasterbilder über SDL3_image, SVG über das gebündelte plutosvg, und Lottie-Animationen über das gebündelte rlottie. Bündeln Sie alle Assets (CSS, Schriftarten, Bilder, Übersetzungen, SVG-Sprites) in eine einzelne ausführbare Datei ohne Laufzeit-Dateisystemabhängigkeiten. Gettext-kompatible Internationalisierung unterstützt Pluralformen und automatische Gebietserkennung. CSS-Übergänge animieren Eigenschaften wie Farbe, Deckkraft und Transformationen automatisch.

Ein Release-Build wird statisch in eine einzelne ausführbare Datei unter 10 MB gelinkt. Er zeichnet über den SDL-Renderer (Direct3D unter Windows, Metal unter macOS, Vulkan/OpenGL sonst, Software-Fallback) und läuft auf Windows XP+, macOS, Linux und WebAssembly über GNAT-LLVM und Emscripten. Eine nur für die Entwicklung vorgesehene MCP-Brücke ermöglicht KI-gestütztes Testen und Automatisieren.

Häufig gestellte Fragen: Welche Plattformen unterstützt Adi2 und wie groß ist seine Binärdatei?

Adi2 unterstützt Windows XP+, macOS, Linux und WebAssembly. Ein minimaler Release-Build erzeugt eine einzelne statisch gelinkte ausführbare Datei unter 10 MB, wobei das gesamte Rendering über die SDL3-Backends (Direct3D, Metal, Vulkan, OpenGL, Software) erfolgt.