Avatar ·

Linux में C++ के लिए नेटिव GUI API क्या है? WinAPI से क्या अंतर है?

सभी को नमस्ते। मैं एक शुरुआती C++ डेवलपर हूँ, Windows से Linux पर आ रहा हूँ। Windows पर मैं WinAPI का उपयोग करके सरल विंडो एप्लिकेशन लिखने का आदी था — वहाँ सब कुछ स्पष्ट है: आप CreateWindow के माध्यम से एक विंडो बनाते हैं, लूप में मैसेज को प्रोसेस करते हैं, बटन और इनपुट फील्ड बनाते हैं। यह सब ऑपरेटिंग सिस्टम का हिस्सा है, किसी तीसरे पक्ष की लाइब्रेरी की आवश्यकता नहीं है। अब मैं Ubuntu पर हूँ और C++ में ऐसा ही एक सरल प्रोग्राम लिखना चाहता हूँ — कुछ बटन और एक टेक्स्ट फील्ड वाली विंडो। लेकिन मैं उलझन में हूँ: जैसा कि मैंने समझा, Linux में GUI के लिए कोई एक "नेटिव API" नहीं है। लोग Xlib, GTK, Qt के बारे में बात करते हैं, लेकिन ये एक जैसे नहीं हैं। Xlib X Window System के लिए एक निम्न-स्तरीय प्रोटोकॉल है, लेकिन यह तैयार कंट्रोल एलिमेंट (बटन, इनपुट फील्ड) प्रदान नहीं करता है। GTK और Qt क्रॉस-प्लेटफॉर्म फ्रेमवर्क हैं जो "नेटिव" नहीं हैं।