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

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