कोर फाउंडेशन: Difference between revisions
No edit summary |
No edit summary |
||
Line 33: | Line 33: | ||
}} | }} | ||
कोर फ़ाउंडेशन (जिसे सीएफ़ भी कहा जाता है) एप्पल ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है सी (प्रोग्रामिंग लैंग्वेज) [[अप्लिकेशन प्रोग्रामिंग अंतरफलक| | कोर फ़ाउंडेशन (जिसे सीएफ़ भी कहा जाता है) एप्पल ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है सी (प्रोग्रामिंग लैंग्वेज) [[अप्लिकेशन प्रोग्रामिंग अंतरफलक|एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई)]] है, और निम्न-स्तरीय रूटीन और [[आवरण समारोह|रेपर फंक्शन्स]] का मिश्रण है। अधिकांश कोर फाउंडेशन रूटीन निश्चित नामकरण सम्मेलन का पालन करते हैं जो अपारदर्शी वस्तुओं हैं, उदाहरण के लिए CFDictionaryRef उन कार्यों के लिए जिनके नाम CFDictionary से प्रारंभ होते हैं, और इन वस्तुओं को अधिकांशतः<code>CFRetain</code> और <code>CFRelease</code> के माध्यम से (मैन्युअल रूप से) गिना जाता है। आंतरिक रूप से, कोर फाउंडेशन [[ उद्देश्य सी ]] मानक पुस्तकालय और [[कार्बन एपीआई]] में प्रकारों का आधार बनाता है।<ref>{{cite web |last1=ridiculous_fish |title=पुल|url=https://ridiculousfish.com/blog/posts/bridge.html |date=2006}}</ref> | ||
कोर फाउंडेशन का सबसे प्रचलित उपयोग | कोर फाउंडेशन का सबसे प्रचलित उपयोग [[बाइट]], [[यूनिकोड]] [[स्ट्रिंग (कंप्यूटर विज्ञान)]] [[संख्या]], [[कैलेंडर तिथि]]यां, और [[सार्वभौमिक रूप से अद्वितीय पहचानकर्ता]], सहित डेटा के लिए अपने स्वयं के सर्वप्रथम प्रकारों को पारित करने के लिए है, साथ ही संग्रह जैसे [[सरणी डेटा संरचना|सरणी]], सेट और शब्दकोश, कई macOS C (प्रोग्रामिंग लैंग्वेज) रूटीन के लिए हैं। मुख्य रूप से वे जो [[ ग्राफिकल यूज़र इंटरफ़ेस | ग्राफिकल यूज़र इंटरफ़ेस]] से संबंधित हैं। ऑपरेटिंग सिस्टम स्तर पर कोर फाउंडेशन मानकीकृत अनुप्रयोग प्राथमिकता प्रबंधन भी प्रदान करता है <code>CFPropertyList</code>, [[बंडल (macOS)]] हैंडलिंग, [[इवेंट लूप]], <code>CFMachPort</code> और <code>CFNotificationCenter</code>इंटरप्रोसेस संचार के माध्यम से इंटरप्रोसेस संचार, और<code>CFUserNotification</code> के माध्यम से बुनियादी ग्राफिकल यूजर इंटरफेस संदेश संवाद के माध्यम से मानकीकृत अनुप्रयोग वरीयता प्रबंधन भी प्रदान करता है। | ||
एपीआई के अन्य भागों में उपयोग में सरलता के लिए प्रस्तुत एपीआई के निकट उपयोगिता रूटीन और रैपर सम्मिलित हैं। <code>CFReadStream</code>, <code>CFWriteStream</code>, और <code>CFURL</code> और एंडियननेस ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज) के माध्यम से [[फाइल सिस्टम]] और [[ संगणक संजाल | | एपीआई के अन्य भागों में उपयोग में सरलता के लिए प्रस्तुत एपीआई के निकट उपयोगिता रूटीन और रैपर सम्मिलित हैं। <code>CFReadStream</code>, <code>CFWriteStream</code>, और <code>CFURL</code> और एंडियननेस ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज) के माध्यम से [[फाइल सिस्टम]] और [[ संगणक संजाल |नेटवर्क]] इनपुट/आउटपुट जैसी कार्रवाइयाँ करते हैं। रैपर रूटीन के कुछ उदाहरणों में यूनिक्स सॉकेट्स के लिए कोर फाउंडेशन के रैपर रूटीन, सीएफसॉकेट एपीआई सम्मिलित हैं। | ||
कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, उनके [[फाउंडेशन किट]] समकक्षों के साथ साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई <code>CFDictionaryRef</code> कोर फाउंडेशन प्रकार बना सकता है, और उसके | कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, उनके [[फाउंडेशन किट]] समकक्षों के साथ साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई <code>CFDictionaryRef</code> कोर फाउंडेशन प्रकार बना सकता है, और उसके पश्चात में इसे अपने उद्देश्य-सी समकक्ष <code>NSDictionary *</code> में परिवर्तित के लिए एक मानक C कास्ट का उपयोग कर सकता है, और उसके पश्चात उस वस्तु पर वांछित उद्देश्य-सी विधियों का उपयोग करें जैसा सामान्य रूप से होता है। | ||
कोर फाउंडेशन का प्लग-इन मॉडल है ({{mono|CFPlugin}}) जो माइक्रोसॉफ्ट[[ घटक वस्तु मॉडल | घटक वस्तु मॉडल]] पर आधारित है।<ref>{{cite web | title=प्लग-इन और माइक्रोसॉफ्ट के COM| url=https://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFPlugIns/Concepts/com.html#//apple_ref/doc/uid/20001158-CJBEJBHH | work=Mac Developer Library | publisher=Apple Inc | archive-url=https://web.archive.org/web/20140901084753/https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFPlugIns/Concepts/com.html | archive-date=2014-09-01 | access-date=2015-03-25}}</ref> | कोर फाउंडेशन का प्लग-इन मॉडल है ({{mono|CFPlugin}}) जो माइक्रोसॉफ्ट[[ घटक वस्तु मॉडल | घटक वस्तु मॉडल]] पर आधारित है।<ref>{{cite web | title=प्लग-इन और माइक्रोसॉफ्ट के COM| url=https://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFPlugIns/Concepts/com.html#//apple_ref/doc/uid/20001158-CJBEJBHH | work=Mac Developer Library | publisher=Apple Inc | archive-url=https://web.archive.org/web/20140901084753/https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFPlugIns/Concepts/com.html | archive-date=2014-09-01 | access-date=2015-03-25}}</ref> | ||
Line 46: | Line 46: | ||
== ओपन सोर्स उपलब्धता == | == ओपन सोर्स उपलब्धता == | ||
एप्पल अधिकांश सीएफ़ को सीएफलाइट नामक [[खुला स्रोत सॉफ्टवेयर|ओपन-सोर्स प्रोजेक्ट]] के रूप में प्रस्तुत करता था | जिसका उपयोग मैकओएस, लिनक्स,और [[Microsoft Windows|माइक्रोसॉफ़्ट विंडोज़]] के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।<ref>{{Cite web|url=http://opensource.apple.com/source/CF/|title = Source Browser}}</ref> | |||
ओपनसीएफलाइट नामक तृतीय-पक्ष ओपन-सोर्स कार्यान्वयन 32-बिट विंडोज और लिनक्स वातावरणों पर निर्माण के लिए एप्पल सीएफलाइट का विस्तार करता है। यह [[वेबकिट]] डेवलपर्स के द्वारा बनाए रखा जाता है, किंतु 2015 तक संवृत हो गया था।<ref>[http://sourceforge.net/projects/opencflite/ OpenCFLite project on SourceForge].</ref> कराओके प्लेटफॉर्म KJams 2017 से फोर्क बनाए रखता है। यह संस्करण, इसके प्रोग्रामर डेविड एम. कॉटर द्वारा, 64-बिट सिस्टम का समर्थन करता है और लिबरएसएसएल-आधारित टीएलएस के साथ सीएफ नेटवर्क कार्यान्वयन है।<ref>{{cite web |title=सीएफलाइट|url=https://karaoke.kjams.com/wiki/सीएफलाइट|website=KJams |access-date=19 February 2020}}</ref> ओपनसीएफलाइट का फोर्क 2021 में ग्रांट एरिकसन (ब्रेंट फुलघम के साथ मूल सहयोगी) द्वारा 2021 में बनाया गया था।<ref>{{cite web |title=GitHub पर OpenCFlite प्रोजेक्ट|url=http://github.com/gerickson/opencflite/ |access-date=30 November 2021}}</ref> सीएफनेटवर्क के <code>CFHost</code> का भाग, ओपनसीएफ नेटवर्क के रूप में है।<ref>{{cite web |title=GitHub पर OpenCFNetwork प्रोजेक्ट|url=http://github.com/gerickson/opencfnetwork/ |access-date=30 November 2021}}</ref> | |||
स्विफ्ट कोरलिब फाउंडेशन, गैर-एप्पल प्लेटफॉर्म के लिए स्विफ्ट प्रोग्रामिंग भाषा के लिए फाउंडेशन किट का फ़ॉलबैक संस्करण है, जिसमें अपाचे लाइसेंस 2.0 के अधीन निरंतर कोर फाउंडेशन का लगभग पूर्ण संस्करण सम्मिलित है।<ref>{{cite web |title=स्विफ्ट-कोरलिब्स-फाउंडेशन|website=GitHub|date=October 14, 2021|url=https://github.com/apple/स्विफ्ट-कोरलिब्स-फाउंडेशन}}</ref> | स्विफ्ट कोरलिब फाउंडेशन, गैर-एप्पल प्लेटफॉर्म के लिए स्विफ्ट प्रोग्रामिंग भाषा के लिए फाउंडेशन किट का फ़ॉलबैक संस्करण है, जिसमें अपाचे लाइसेंस 2.0 के अधीन निरंतर कोर फाउंडेशन का लगभग पूर्ण संस्करण सम्मिलित है।<ref>{{cite web |title=स्विफ्ट-कोरलिब्स-फाउंडेशन|website=GitHub|date=October 14, 2021|url=https://github.com/apple/स्विफ्ट-कोरलिब्स-फाउंडेशन}}</ref> | ||
[[GNUstep]] में "लिब्स-कोरबेस" नामक कोर फाउंडेशन का संस्करण सम्मिलित है ।<ref>{{cite web |title=gnustep/libs-corebase: The GNUstep CoreBase Library is a library of general-purpose, non-graphical C objects. |url=https://github.com/gnustep/libs-corebase/ |website=GitHub |publisher=GNUstep |date=19 November 2019}}</ref> | [[GNUstep|जीएनयूस्टेप]] में "लिब्स-कोरबेस" नामक कोर फाउंडेशन का संस्करण सम्मिलित है ।<ref>{{cite web |title=gnustep/libs-corebase: The GNUstep CoreBase Library is a library of general-purpose, non-graphical C objects. |url=https://github.com/gnustep/libs-corebase/ |website=GitHub |publisher=GNUstep |date=19 November 2019}}</ref> | ||
Line 65: | Line 65: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
*[https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CoreFoundation_Collection/index.html#//apple_ref/doc/uid/TP40003849 Core Foundation reference] at [[Apple Developer]] | *[https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CoreFoundation_Collection/index.html#//apple_ref/doc/uid/TP40003849 Core Foundation reference] at [[Apple Developer]] | ||
* | * ओपनसीएफलाइटat SourceForge | ||
* [https://karaoke.kjams.com/wiki/CFLite CFLite including CFNetwork] works in 64bit, uses LibreSSL (TLS 1.1, 1.2) | * [https://karaoke.kjams.com/wiki/CFLite CFLite including CFNetwork] works in 64bit, uses LibreSSL (TLS 1.1, 1.2) | ||
Revision as of 18:40, 17 May 2023
Developer(s) | Apple Inc. |
---|---|
Repository | github |
Written in | Swift, Objective-C, C |
Operating system | |
Type | System library |
License | APSL 2.0 |
Website | developer.apple.com |
कोर फ़ाउंडेशन (जिसे सीएफ़ भी कहा जाता है) एप्पल ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है सी (प्रोग्रामिंग लैंग्वेज) एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) है, और निम्न-स्तरीय रूटीन और रेपर फंक्शन्स का मिश्रण है। अधिकांश कोर फाउंडेशन रूटीन निश्चित नामकरण सम्मेलन का पालन करते हैं जो अपारदर्शी वस्तुओं हैं, उदाहरण के लिए CFDictionaryRef उन कार्यों के लिए जिनके नाम CFDictionary से प्रारंभ होते हैं, और इन वस्तुओं को अधिकांशतःCFRetain
और CFRelease
के माध्यम से (मैन्युअल रूप से) गिना जाता है। आंतरिक रूप से, कोर फाउंडेशन उद्देश्य सी मानक पुस्तकालय और कार्बन एपीआई में प्रकारों का आधार बनाता है।[1]
कोर फाउंडेशन का सबसे प्रचलित उपयोग बाइट, यूनिकोड स्ट्रिंग (कंप्यूटर विज्ञान) संख्या, कैलेंडर तिथियां, और सार्वभौमिक रूप से अद्वितीय पहचानकर्ता, सहित डेटा के लिए अपने स्वयं के सर्वप्रथम प्रकारों को पारित करने के लिए है, साथ ही संग्रह जैसे सरणी, सेट और शब्दकोश, कई macOS C (प्रोग्रामिंग लैंग्वेज) रूटीन के लिए हैं। मुख्य रूप से वे जो ग्राफिकल यूज़र इंटरफ़ेस से संबंधित हैं। ऑपरेटिंग सिस्टम स्तर पर कोर फाउंडेशन मानकीकृत अनुप्रयोग प्राथमिकता प्रबंधन भी प्रदान करता है CFPropertyList
, बंडल (macOS) हैंडलिंग, इवेंट लूप, CFMachPort
और CFNotificationCenter
इंटरप्रोसेस संचार के माध्यम से इंटरप्रोसेस संचार, औरCFUserNotification
के माध्यम से बुनियादी ग्राफिकल यूजर इंटरफेस संदेश संवाद के माध्यम से मानकीकृत अनुप्रयोग वरीयता प्रबंधन भी प्रदान करता है।
एपीआई के अन्य भागों में उपयोग में सरलता के लिए प्रस्तुत एपीआई के निकट उपयोगिता रूटीन और रैपर सम्मिलित हैं। CFReadStream
, CFWriteStream
, और CFURL
और एंडियननेस ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज) के माध्यम से फाइल सिस्टम और नेटवर्क इनपुट/आउटपुट जैसी कार्रवाइयाँ करते हैं। रैपर रूटीन के कुछ उदाहरणों में यूनिक्स सॉकेट्स के लिए कोर फाउंडेशन के रैपर रूटीन, सीएफसॉकेट एपीआई सम्मिलित हैं।
कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, उनके फाउंडेशन किट समकक्षों के साथ साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई CFDictionaryRef
कोर फाउंडेशन प्रकार बना सकता है, और उसके पश्चात में इसे अपने उद्देश्य-सी समकक्ष NSDictionary *
में परिवर्तित के लिए एक मानक C कास्ट का उपयोग कर सकता है, और उसके पश्चात उस वस्तु पर वांछित उद्देश्य-सी विधियों का उपयोग करें जैसा सामान्य रूप से होता है।
कोर फाउंडेशन का प्लग-इन मॉडल है (CFPlugin) जो माइक्रोसॉफ्ट घटक वस्तु मॉडल पर आधारित है।[2]
ओपन सोर्स उपलब्धता
एप्पल अधिकांश सीएफ़ को सीएफलाइट नामक ओपन-सोर्स प्रोजेक्ट के रूप में प्रस्तुत करता था | जिसका उपयोग मैकओएस, लिनक्स,और माइक्रोसॉफ़्ट विंडोज़ के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।[3]
ओपनसीएफलाइट नामक तृतीय-पक्ष ओपन-सोर्स कार्यान्वयन 32-बिट विंडोज और लिनक्स वातावरणों पर निर्माण के लिए एप्पल सीएफलाइट का विस्तार करता है। यह वेबकिट डेवलपर्स के द्वारा बनाए रखा जाता है, किंतु 2015 तक संवृत हो गया था।[4] कराओके प्लेटफॉर्म KJams 2017 से फोर्क बनाए रखता है। यह संस्करण, इसके प्रोग्रामर डेविड एम. कॉटर द्वारा, 64-बिट सिस्टम का समर्थन करता है और लिबरएसएसएल-आधारित टीएलएस के साथ सीएफ नेटवर्क कार्यान्वयन है।[5] ओपनसीएफलाइट का फोर्क 2021 में ग्रांट एरिकसन (ब्रेंट फुलघम के साथ मूल सहयोगी) द्वारा 2021 में बनाया गया था।[6] सीएफनेटवर्क के CFHost
का भाग, ओपनसीएफ नेटवर्क के रूप में है।[7]
स्विफ्ट कोरलिब फाउंडेशन, गैर-एप्पल प्लेटफॉर्म के लिए स्विफ्ट प्रोग्रामिंग भाषा के लिए फाउंडेशन किट का फ़ॉलबैक संस्करण है, जिसमें अपाचे लाइसेंस 2.0 के अधीन निरंतर कोर फाउंडेशन का लगभग पूर्ण संस्करण सम्मिलित है।[8]
जीएनयूस्टेप में "लिब्स-कोरबेस" नामक कोर फाउंडेशन का संस्करण सम्मिलित है ।[9]
यह भी देखें
- जीएलआईबी - गनोम समकक्ष
संदर्भ
- ↑ ridiculous_fish (2006). "पुल".
- ↑ "प्लग-इन और माइक्रोसॉफ्ट के COM". Mac Developer Library. Apple Inc. Archived from the original on 2014-09-01. Retrieved 2015-03-25.
- ↑ "Source Browser".
- ↑ OpenCFLite project on SourceForge.
- ↑ "सीएफलाइट". KJams. Retrieved 19 February 2020.
- ↑ "GitHub पर OpenCFlite प्रोजेक्ट". Retrieved 30 November 2021.
- ↑ "GitHub पर OpenCFNetwork प्रोजेक्ट". Retrieved 30 November 2021.
- ↑ "स्विफ्ट-कोरलिब्स-फाउंडेशन". GitHub. October 14, 2021.
- ↑ "gnustep/libs-corebase: The GNUstep CoreBase Library is a library of general-purpose, non-graphical C objects". GitHub. GNUstep. 19 November 2019.
बाहरी संबंध
- Core Foundation reference at Apple Developer
- ओपनसीएफलाइटat SourceForge
- CFLite including CFNetwork works in 64bit, uses LibreSSL (TLS 1.1, 1.2)