केडीई फ्रेमवर्क

केडीई फ्रेमवर्क लाइब्रेरियों और सॉफ्टवेयर फ्रेमवर्क का एक संग्रह है जो किसी भी क्यूटी-आधारित सॉफ्टवेयर स्टैक या कई ऑपरेटिंग सिस्टम पर अनुप्रयोगों के लिए सरलता से उपलब्ध है। हार्डवेयर एकीकरण, फ़ाइल प्रारूप समर्थन, अतिरिक्त चित्रमय नियंत्रण तत्व, प्लॉटिंग फ़ंक्शन और वर्तनी परीक्षण जैसे प्रायः आवश्यक कार्यक्षमता समाधान की विशेषताएं, संग्रह केडीई प्लाज्मा 5 और केडीई गियर के लिए तकनीकी आधार के रूप में कार्य करता है जो जीएनयू लेसर जनरल पब्लिक लाइसेंस (एलजीपीएल) के अंतर्गत वितरित किया जाता है।

सिंहावलोकन
वर्तमान केडीई फ्रेमवर्क क्यूटी 5 पर आधारित हैं, जो उपयोगकर्ता इंटरफेस के डिजाइन के लिए क्यूएमएल, सरल जावास्क्रिप्ट-आधारित डिक्लेरेटिव प्रोग्रामिंग भाषा का अधिक व्यापक उपयोग करने में सक्षम बनाता है। क्यूएमएल द्वारा उपयोग किए जाने वाले ग्राफिक्स प्रतिपादन इंजन विभिन्न उपकरणों में अधिक द्रव उपयोगकर्ता इंटरफेस के लिए अनुमति देता है।

केडीई फ्रेमवर्क 5, केडीई प्लाज्मा 5 और केडीई अनुप्रयोगों में केडीई सॉफ्टवेयर संकलन के विभाजन के बाद से, प्रत्येक उप-परियोजना अपनी विकास गति चुन सकती है. केडीई फ्रेमवर्क मासिक आधार पर जारी किए जाते हैं और गिट का उपयोग करते हैं।

केडीई प्लेटफॉर्म 4 के साथ केडीई फ्रेमवर्क स्थापित करना संभव होना चाहिए ताकि ऐप या तो एक का उपयोग कर सकते हैं।

एपीआई और एबीआई स्थिरता
प्लेटफ़ॉर्म विज्ञप्ति वे हैं जो श्रृंखला प्रारम्भ करते हैं (संस्करण संख्या X.0) केवल इन प्रमुख विज्ञप्ति को पूर्ववर्ती के साथ द्विआधारी संगतता को रोकने की अनुमति है। न्यूनतम श्रृंखला (X.1, X.2, ...) में रिलीज बाइनरी पोर्टेबिलिटी (एपीआई और एबीआई) की प्रत्याभूति देगी। इसका तात्पर्य, उदाहरण के लिए, केडीई 3.0 के लिए विकसित किया गया सॉफ्टवेयर सभी (भविष्य) केडीई 3 रिलीज पर काम करेगा; तथापि, केडीई 2 के लिए विकसित एक आवेदन केडीई 3 लाइब्रेरियों का उपयोग करने में सक्षम होने की अनुमति नहीं है। केडीई प्रमुख संस्करण संख्याएं मुख्य रूप से क्यूटी रिलीज चक्र का पालन करती हैं, जिसका अर्थ है कि केडीई एससी 4 क्यूटी 4 पर आधारित है, जबकि केडीई 3 क्यूटी 3 पर आधारित था।

समर्थित ऑपरेटिंग सिस्टम
प्रत्येक रूपरेखा के संग्रहण में metainfo.yaml नाम की एक फ़ाइल होनी चाहिए। यह फ़ाइल फ्रेमवर्क, प्रकार, समर्थित ऑपरेटिंग सिस्टम और अन्य सूचनाओं के अनुरक्षक का प्रलेखित करती है। वर्तमान में समर्थित प्लेटफ़ॉर्म लिनक्स, माइक्रोसॉफ्ट विंडोज, मैकओएस और एंड्रॉइड हैं।

संरचना
फ्रेमवर्क में एक स्पष्ट निर्भरता संरचना होती है, जिसे "श्रेणियों" और "टियर्स" में विभाजित किया जाता है". "श्रेणियां" रनटाइम निर्भरता को दर्शाता है:


 * कार्यात्मक तत्वों में कोई रनटाइम निर्भरता नहीं है।
 * एकीकरण कोड को नामित करता है जिसे ओएस या प्लेटफ़ॉर्म प्रदान करने के आधार पर एकीकरण के लिए रनटाइम निर्भरता की आवश्यकता हो सकती है।
 * समाधान में अनिवार्य रनटाइम निर्भरताएं हैं।

घटक
केडीई फ्रेमवर्क बंडल में 70 से अधिक पैकेज होते हैं. ये केडीई एससी 4 में एक बड़े पैकेज के रूप में विद्यमान हैं, जिसे केडीलिब कहा जाता है. केडेलिब्स को कई व्यक्तिगत रूपरेखाओं में विभाजित किया गया था, जिनमें से कुछ अब केडीई का भाग नहीं हैं, लेकिन क्यूटी 5.2 में एकीकृत थे।

केडीई फ्रेमवर्क को अन्य लाइब्रेरी पर निर्भरता के अनुसार चार अलग-अलग चरणों में वर्गीकृत किया गया है।
 * फ्रेमवर्क के स्तर
 * टियर 1 – अधिकतर केवल क्यूटी, अत्यधिक प्रयोगात्मक पर निर्भर करता है। टियर 2 – टियर 1 पर निर्भर करता है, लेकिन निर्भरता अभी भी प्रबंधनीय है।  टियर 3 – जटिल निर्भरता, जिसमें टियर्स 1 – 2 आदि सम्मिलित हैं।  टियर 4 – ज्यादातर प्लगइन्स जो प्लेटफॉर्म समर्थन जैसी अतिरिक्त सुविधाएँ प्रदान करते हैं, उन्हें उपेक्षित किया जा सकता है।
 * टियर 1 – अधिकतर केवल क्यूटी, अत्यधिक प्रयोगात्मक पर निर्भर करता है। टियर 2 – टियर 1 पर निर्भर करता है, लेकिन निर्भरता अभी भी प्रबंधनीय है।  टियर 3 – जटिल निर्भरता, जिसमें टियर्स 1 – 2 आदि सम्मिलित हैं।  टियर 4 – ज्यादातर प्लगइन्स जो प्लेटफॉर्म समर्थन जैसी अतिरिक्त सुविधाएँ प्रदान करते हैं, उन्हें उपेक्षित किया जा सकता है।

किरिगामी
किरिगामी मार्को मार्टिन द्वारा विकसित एक क्यूएमएल एप्लिकेशन फ्रेमवर्क है जो डेवलपर्स को ऐसे एप्लिकेशन लिखने में सक्षम बनाता है जो बिना कोड समायोजन के एंड्रॉइड, आईओएस, विंडोज, प्लाज्मा मोबाइल और किसी भी क्लासिक लिनक्स डेस्कटॉप वातावरण पर मूल रूप से संचालित हैं।

इसका उपयोग विभिन्न अनुप्रयोगों द्वारा किया जाता है, उदाहरण के लिए, लिनस टोरवाल्ड्स और डर्क होहेंडेल्स का स्कूबा डाइविंग एप्लिकेशन सबसरफेस, मैसेंजर क्लाइंट बंजी, केडेन मैसेंजर, वीवेव म्यूजिक प्लेयर और केडीई सॉफ्टवेयर सेंटर डिस्कवर आदि।

सॉफ्टवेयर पैकेज
लिनक्स वितरण उनके द्वारा वितरित सॉफ्टवेयर को पैकेज करने के लिए कुछ पैकेज प्रबंधन प्रणाली का उपयोग करता है. उदाहरण के लिए डेबियन पैकेज नाम libkf5globalaccel के तहत KGlobalAccel वितरित करता है, जबकि फेडोरा लिनक्स इसे kf5-kglobalaccel नाम से वितरित करता है।

बाइंडिंग
मुख्य रूप से C++ में लिखे जाने के समय, अन्य प्रोग्रामिंग भाषाओं के लिए कई बाइंडिंग उपलब्ध हैं:


 * पायथन
 * रूबी (कोरन्डम, क्यूटी रूबी के शीर्ष पर आधारित है)
 * पर्ल
 * C# (हालांकि, C# और अन्य के लिए बाध्यकारी के लिए वर्तमान रूपरेखा .NET भाषाओं को हटा दिया गया है, और प्रतिस्थापन केवल विंडोज) पर संकलित करता है।

ये और अन्य बाइंडिंग निम्नलिखित प्रौद्योगिकियों का उपयोग करते हैं:


 * स्मोक: रूबी, C# और पीएचपी के लिए बाइंडिंग बनाने के लिए है।
 * एसआईपी: पायथन के लिए बाइंडिंग निर्माण के लिए है।
 * क्रॉस: रूबी, पायथन, जावास्क्रिप्ट, क्यूटीस्क्रिप्ट, फाल्कन और जावा के समर्थन के साथ C++ अनुप्रयोगों के लिए एंबेडेड स्क्रिप्टिंग है।

कई बाइंडिंग क्यूटी 5 और केएफ 5 या केवल बाद में विज्ञप्ति चक्र में अद्यतन नहीं किए गए थे।

इतिहास
5.0 रिलीज एक प्रौद्योगिकी पूर्वावलोकन, दो अल्फा विज्ञप्ति और तीन बीटा विज्ञप्ति से संबंधित थी।

केडीई फ्रेमवर्क का स्रोत कोड केडीलिब 1 के बाद से है। केडीई फ्रेमवर्क के रूप में पहली विज्ञप्ति संस्करण 5 के साथ थी, इस तथ्य के लिए कि कोड आधार केडीई प्लेटफॉर्म संस्करण 4 (केडीई प्लेटफॉर्म का एकमात्र प्रमुख संस्करण) था।

केडीई प्लेटफॉर्म से केडीई फ्रेमवर्क में संक्रमण अगस्त 2013 में प्रारम्भ हुआ, जो शीर्ष केडीई तकनीकी योगदानकर्ताओं द्वारा निर्देशित था।

केडीई फ्रेमवर्क 5.0 की प्रारंभिक प्रविष्टि के बाद, डेवलपर्स ने केडीई फ्रेमवर्क 5, में घटकों में नई सुविधाओं को जोड़ने पर ध्यान केंद्रित किया, उदाहरण केडीई में फ़ायरफ़ॉक्स का प्रभावी एकीकरण है।

फ्रेमवर्क 5 का प्रमुख संशोधन इसका प्रतिरूपीकरण है. पहले केडीई संस्करणों में, लाइब्रेरियों को एक बड़े पैकेज के रूप में विभाजित किया गया था. फ्रेमवर्क में, लाइब्रेरियों को व्यक्तिगत रूप से छोटे पैकेजों में विभाजित किया गया था। यह अन्य क्यूटी-आधारित सॉफ़्टवेयर द्वारा लाइब्रेरियों के उपयोग की सुविधा प्रदान करता है, क्योंकि निर्भरता को न्यूनतम पर रखा जा सकता है।

जबकि केडीई 4 क्यूटी विजेट टूलकिट के संस्करण 4 पर आधारित था, फ्रेमवर्क 5 संस्करण 5 पर केंद्रित है।

केडीई4 रूपांतरण
केडीई एससी 4 के माध्यम से, तत्कालीन तथाकथित केडीई प्लेटफार्म में केडीई प्लाज्मा और अनुप्रयोगों के लिए आवश्यक सभी लाइब्रेरी और सेवाएं समाहित थीं. क्यूटी 5 से प्रारंभ होकर, यह प्लेटफ़ॉर्म मॉड्यूल के समूह में बदल गया था जिसे अब केडीई फ्रेमवर्क के समान कहा जाता है. इन मॉड्यूल में निम्नलिखित सम्मिलित हैं: ठोस, नेपोमुक, फोनन, आदि और एलजीपीएल, बीएसडी लाइसेंस, एमआईटी लाइसेंस या एक्स 11 लाइसेंस के अंतर्गत लाइसेंस प्राप्त हैं।

अंगीकरण
केडीई सॉफ्टवेयर संकलन के अतिरिक्त, डेस्कटॉप एनवायरनमेंट एलएक्सक्यूटी, मूनलाइट या हवाई जैसे अन्य ग्रहणीय हैं।

क्रिटा का संस्करण 3.0, कैलीग्रा सूट का रैस्टर ग्राफिक्स एडिटर, जो 31 मई 2016 को जारी किया गया था, केडीई फ्रेमवर्क 5 और क्यूटी 5.2 पर निर्भर करता है।

किरिगामी के साथ, अमारोक, एवोगाद्रो, ट्रोजिटा या उपसतह जैसे अनुप्रयोगों द्वारा भी उपयोग में वृद्धि हुई है।

बाहरी संबंध

 * KDE Frameworks in KDE's own Gitlab instance
 * KDE Frameworks in old Phabricator