HeadlinesBriefing favicon HeadlinesBriefing.com

Adi2: आधुनिक Ada GUI लाइब्रेरी CSS, XML, SDL3 के साथ

Hacker News •
×

Adi2 एक आधुनिक GUI लाइब्रेरी है जो Ada के लिए एक नेटिव विजेट टूलकिट प्रदान करती है, जिसमें CSS जैसी स्टाइलिंग, घोषणात्मक XML लेआउट, एनीमेशन, SVG और Lottie ग्राफिक्स, अंतर्राष्ट्रीयकरण और एसेट बंडलिंग शामिल हैं — सभी SDL3 पर लागू किए गए हैं। वर्तमान में इसे उत्पादन में उपयोग किया जा रहा है लेकिन यह अभी तक एक स्थिर रिलीज़ नहीं है; संस्करणों के बीच APIs बदल सकते हैं।

परिचित CSS सिंटैक्स का उपयोग करके यूआई को स्टाइल करें, जिसमें सेलेक्टर, प्सेडो-क्लासेस, ट्रांज़िशन, ग्रेडिएंट और बॉक्स शैडो शामिल हैं। 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-सहायता प्राप्त परीक्षण और स्वचालन को सक्षम बनाता है।

अक्सर पूछे जाने वाले प्रश्न: Adi2 किन प्लेटफॉर्म्स का समर्थन करता है और इसका बाइनरी आकार क्या है?

Adi2 Windows XP+, macOS, Linux और WebAssembly का समर्थन करता है। एक न्यूनतम रिलीज़ बिल्ड एकल स्थैतिक रूप से लिंक किए गए निष्पादन योग्य का उत्पादन करता है जो 10 MB से कम है, जिसमें सभी रेंडरिंग SDL3 के बैकएंड्स (Direct3D, Metal, Vulkan, OpenGL, सॉफ़्टवेयर) द्वारा संभाला जाता है।