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

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

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

इसका उपयोग विभिन्न अनुप्रयोगों द्वारा किया जाता है, उदाहरण के लिए लिनस टोरवाल्ड्स और डिर्क हॉन्डेल्स का स्कूबा डाइविंग एप्लिकेशन सबसर्फेस, मैसेंजर क्लाइंट बंजी, केदान दूत, 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