HeadlinesBriefing favicon HeadlinesBriefing.com

Adi2:现代 Ada GUI 库,支持 CSS、XML、SDL3

Hacker News •
×

Adi2 是一个现代的 GUI 库,针对 Ada 语言提供原生小部件工具包,具有类似 CSS 的样式、声明式 XML 布局、动画、SVG 和 Lottie 图形、国际化以及资源打包功能 — — 全部基于 SDL3 实现。目前已在生产环境中使用,但尚未发布稳定版本,API 可能在版本之间发生变化。

使用熟悉的 CSS 语法(包括选择器、伪类、过渡、渐变和盒阴影)来设计 UI。编辑 CSS 文件并通过实时重载立即查看更改 — — 开发期间无需重新编译。或者,以纯 Ada 聚合的形式编写样式。使用声明式 XML(如 <button>、<grid>、<text-editor>)描述界面,并通过工具链生成的 Ada 包,或直接在 Ada 中使用句柄构建器构建小部件树。

通过轻量级 HTML 视图小部件渲染丰富内容,通过 SDL3_image 处理光栅图像,通过捆绑的 plutosvg 渲染 SVG,通过捆绑的 rlottie 渲染 Lottie 动画。将所有资源(CSS、字体、图像、翻译、SVG 精灵)打包到单个可执行文件中,无需运行时文件系统依赖。Gettext 兼容的国际化支持复数形式和自动区域检测。CSS 过渡会自动动画化颜色、透明度和变换等属性。

发布构建会静态链接为单个可执行文件,大小低于 10 MB。它通过 SDL 的渲染器进行绘制(Windows 上为 Direct3D,macOS 上为 Metal,其他平台为 Vulkan/OpenGL,软件回退),可在 Windows XP+、macOS、Linux 和通过 GNAT-LLVM 和 Emscripten 的 WebAssembly 上运行。仅限开发的 MCP 桥梁支持 AI 辅助测试和自动化。

FAQ:Adi2 支持哪些平台?其二进制文件大小是多少?

Adi2 支持 Windows XP+、macOS、Linux 和 WebAssembly。最小的发布构建会生成一个单个静态链接的可执行文件,大小低于 10 MB,所有渲染均通过 SDL3 的后端处理(Direct3D、Metal、Vulkan、OpenGL、软件)。