HeadlinesBriefing favicon HeadlinesBriefing.com

Adi2: Современная библиотека GUI для Ada с CSS, XML, SDL3

Hacker News •
×

Adi2 — это современная библиотека GUI для Ada, предоставляющая набор нативных виджетов с CSS-подобным стилем, декларативной XML-разметкой, анимацией, графикой SVG и Lottie, интернационализацией и упаковкой ресурсов — всё реализовано на SDL3. В настоящее время используется в production, но ещё не является стабильным релизом; API могут меняться между версиями.

Стилизация интерфейсов с использованием привычного синтаксиса CSS, включая селекторы, псевдоклассы, переходы, градиенты и тени блоков. Редактируйте CSS-файлы и мгновенно увидите изменения благодаря горячей перезагрузке — перекомпиляция во время разработки не требуется. В качестве альтернативы, описывайте стили как простые агрегаты Ada. Описывайте интерфейсы декларативно в XML (<button>, <grid>, <text-editor>) с использованием пакетов Ada, сгенерированных инструментарием, или создавайте деревья виджетов непосредственно в Ada с помощью билдеров на основе дескрипторов.

Отображайте богатый контент через лёгкий виджет просмотра HTML, растровые изображения через SDL3_image, SVG через включённый plutosvg, анимации Lottie через включённый rlottie. Упаковывайте все ресурсы (CSS, шрифты, изображения, переводы, спрайты SVG) в один исполняемый файл без зависимостей от файловой системы во время выполнения. Интернационализация, совместимая с Gettext, поддерживает множественное число и автоматическое определение локали. Переходы CSS автоматически анимируют свойства, такие как цвет, непрозрачность и преобразования.

Сборка выпуска статически связывается в один исполняемый файл размером менее 10 МБ. Она использует рендерер SDL (Direct3D на Windows, Metal на macOS, Vulkan/OpenGL в остальных случаях, программный fallback) и работает на Windows XP+, macOS, Linux и WebAssembly через GNAT-LLVM и Emscripten. Мост MCP только для разработки обеспечивает тестирование и автоматизацию с использованием ИИ.

Часто задаваемые вопросы: Какие платформы поддерживает Adi2 и какой у него размер бинарного файла?

Adi2 поддерживает Windows XP+, macOS, Linux и WebAssembly. Минимальная сборка выпуска производит один статически связанный исполняемый файл размером менее 10 МБ, при этом весь рендеринг обрабатывается бэкендами SDL3 (Direct3D, Metal, Vulkan, OpenGL, программный).