Adi2: una biblioteca GUI moderna para Ada con CSS, XML y SDL3

Fuentes: Adi2: a modern Ada GUI library with CSS styling, XML layouts and SDL3

Adi2 es una biblioteca gráfica de interfaz de usuario para el lenguaje Ada, construida sobre SDL3 y distribuida como proyecto open source en GitHub por el usuario ovenpasta. Ofrece un conjunto de widgets nativo con características habituales en stacks modernos: estilos declarativos con sintaxis similar a CSS y recarga en caliente, maquetación mediante archivos XML que generan paquetes Ada tipados, animaciones gestionadas por el framework, renderizado de SVG y animaciones Lottie, internacionalización compatible con gettext y empaquetado de todos los recursos en un único ejecutable.

La biblioteca permite escribir los estilos como reglas CSS convencionales o como agregados del propio Ada, y construir el árbol de widgets tanto desde XML como directamente en código con builders. Incorpora un widget de vista HTML ligero, soporte HiDPI con unidades dp, rem, px y pix, y un puente MCP en fase de desarrollo que permite capturar pantallas y automatizar pruebas desde editores o asistentes de IA. Los ejemplos se compilan a WebAssembly con GNAT-LLVM y Emscripten, y pueden probarse en el navegador.

El proyecto se encuentra en uso en producción pero sin release estable, por lo que las APIs pueden cambiar. El binario final, con enlace estático, se sitúa por debajo de 10 MB. Adi2 se compara en el propio README con Qt, Flutter y Electron en tamaño, dependencias de runtime, backends gráficos, portabilidad, lenguaje y modelo de memoria. La hoja de ruta incluye más propiedades CSS, tablas y flex/grid en la vista HTML, nuevos widgets (vista de árbol, rejilla de datos, menú, indicadores, tooltips, divisores, selectores de fecha y color), temas prefabricados Material, Fluent, Adwaita y macOS, y soporte de texto bidireccional y accesibilidad.