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

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

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

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

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

समर्थित ऑपरेटिंग सिस्टम
प्रत्येक ढांचे के भंडार में metainfo.yaml नाम की एक फ़ाइल होनी चाहिए। यह फ़ाइल फ्रेमवर्क के अनुरक्षक, प्रकार, समर्थित ऑपरेटिंग सिस्टम और अन्य जानकारी का दस्तावेजीकरण करती है। वर्तमान में समर्थित प्लेटफ़ॉर्म Linux, Microsoft Windows, macOS और Android हैं।

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

घटक
केडीई फ्रेमवर्क बंडल में 70 से अधिक पैकेज हैं। केडीई सॉफ्टवेयर संकलन 4 में ये एक बड़े पैकेज के रूप में मौजूद थे, जिसे केडीलिब्स कहा जाता है। केडीलिब्स को कई अलग-अलग ढांचे में विभाजित किया गया था, जिनमें से कुछ अब केडीई का हिस्सा नहीं हैं, लेकिन क्यूटी (सॉफ्टवेयर)#क्यूटी 5|क्यूटी 5.2 में एकीकृत थे। केडीई ढांचे को अन्य पुस्तकालयों पर निर्भरता के अनुसार चार अलग-अलग स्तरों में बांटा गया है।
 * फ्रेमवर्क के स्तर:
 * टीयर 1 – ज्यादातर केवल क्यूटी (सॉफ्टवेयर) पर निर्भर करते हैं, अत्यधिक पोर्टेबल
 * कतार 2 – टीयर 1 पर निर्भर करता है, लेकिन निर्भरताएँ अभी भी प्रबंधनीय हैं।
 * 3 टियर – टियर 1 सहित जटिल निर्भरताएँ–2 वगैरह
 * श्रेणी 4 – प्लेटफ़ॉर्म समर्थन जैसी अतिरिक्त सुविधाएँ प्रदान करने वाले अधिकांश प्लगइन्स को अनदेखा किया जा सकता है।

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

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

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

बाइंडिंग
जबकि मुख्य रूप से C++ में लिखा जा रहा है, अन्य प्रोग्रामिंग भाषाओं के लिए कई बाइंडिंग उपलब्ध हैं: ये और अन्य बाइंडिंग निम्नलिखित तकनीकों का उपयोग करते हैं:
 * अजगर
 * रूबी (कोरन्डम, QtRuby के शीर्ष पर निर्मित)
 * पर्ल
 * सी शार्प (प्रोग्रामिंग लैंग्वेज)|सी# (हालांकि, सी# और अन्य .NET भाषाओं के लिए बाध्य करने के लिए मौजूदा ढांचे को हटा दिया गया है, और प्रतिस्थापन केवल विंडोज पर संकलित होता है)।


 * स्मोक: रूबी प्रोग्रामिंग भाषा, सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी # और पीएचपी के लिए बाइंडिंग बनाने के लिए
 * एसआईपी: पायथन प्रोग्रामिंग भाषा के लिए बाइंडिंग बनाने के लिए
 * क्रॉस: रूबी, पायथन (प्रोग्रामिंग भाषा), जावास्क्रिप्ट, क्यूटीस्क्रिप्ट, फाल्कन और जावा (प्रोग्रामिंग भाषा) के समर्थन के साथ सी ++ अनुप्रयोगों के लिए एंबेडेड स्क्रिप्टिंग

कई बाइंडिंग Qt5 और KF5 में या केवल बाद में रिलीज़ चक्र में अपडेट नहीं किए गए थे।

इतिहास
5.0 रिलीज़ से पहले एक तकनीकी पूर्वावलोकन, दो अल्फा रिलीज़ और तीन बीटा रिलीज़ हुए थे। KDE ढाँचे का स्रोत कोड KDElibs 1 के आसपास रहा है। KDE ढाँचे के रूप में पहली रिलीज़ संस्करण 5 के साथ थी, इस तथ्य को ध्यान में रखते हुए कि कोड आधार KDE प्लेटफ़ॉर्म संस्करण 4 (KDE प्लेटफ़ॉर्म का एकमात्र प्रमुख संस्करण) का था।

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

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

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

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

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

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

बाहरी संबंध

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