कोर फाउंडेशन: Difference between revisions

From Vigyanwiki
(Created page with "{{Use mdy dates|date=October 2013}} {{Infobox software | name = Core Foundation | title = Core Foundation | logo = <!-- ...")
 
No edit summary
Line 1: Line 1:
{{Use mdy dates|date=October 2013}}
 
{{Infobox software
{{Infobox software
| name                  = Core Foundation
| name                  = Core Foundation
Line 33: Line 33:
}}
}}


कोर फ़ाउंडेशन (जिसे CF भी कहा जाता है) एक C (प्रोग्रामिंग लैंग्वेज) [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] (API) है जिसे Apple ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है, और निम्न-स्तरीय रूटीन और [[आवरण समारोह]] का मिश्रण है। अधिकांश कोर फाउंडेशन रूटीन एक निश्चित नामकरण सम्मेलन का पालन करते हैं जो अपारदर्शी वस्तुओं से निपटते हैं, उदाहरण के लिए 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>
कोर फ़ाउंडेशन (जिसे सीएफ़ भी कहा जाता है) एप्पल ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है सी (प्रोग्रामिंग लैंग्वेज) [[अप्लिकेशन प्रोग्रामिंग अंतरफलक|अप्लिकेशन प्रोग्रामिंग अंतरफलक (API)]] है, और निम्न-स्तरीय रूटीन और [[आवरण समारोह]] का मिश्रण है। अधिकांश कोर फाउंडेशन रूटीन निश्चित नामकरण सम्मेलन का पालन करते हैं जो अपारदर्शी वस्तुओं से निपटते हैं, उदाहरण के लिए 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>.


एपीआई के अन्य भागों में उपयोग में आसानी के लिए मौजूदा एपीआई के आसपास उपयोगिता रूटीन और रैपर शामिल हैं। यूटिलिटी रूटीन [[फाइल सिस्टम]] और [[ संगणक संजाल ]] I/O के माध्यम से ऐसी कार्रवाइयाँ करते हैं <code>CFReadStream</code>, <code>CFWriteStream</code>, और <code>CFURL</code> [[endianness]] ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज)। रैपर रूटीन के कुछ उदाहरणों में यूनिक्स सॉकेट्स के लिए कोर फाउंडेशन के रैपर रूटीन, CFSocket API शामिल हैं।
कोर फाउंडेशन का सबसे प्रचलित उपयोग कच्चे [[बाइट]], [[यूनिकोड]] [[स्ट्रिंग (कंप्यूटर विज्ञान)]] [[संख्या]], [[कैलेंडर तिथि]]यां, और [[सार्वभौमिक रूप से अद्वितीय पहचानकर्ता]], सहित डेटा के लिए अपने स्वयं के आदिम प्रकारों को पारित करने के लिए है, साथ ही संग्रह जैसे [[सरणी डेटा संरचना|सरणी]], सेट और शब्दकोश, कई macOS C (प्रोग्रामिंग लैंग्वेज) रूटीन के लिए हैं। मुख्य रूप से वे जो [[ ग्राफिकल यूज़र इंटरफ़ेस | ग्राफिकल यूज़र इंटरफ़ेस]] से संबंधित हैं। ऑपरेटिंग सिस्टम स्तर पर कोर फाउंडेशन मानकीकृत अनुप्रयोग प्राथमिकता प्रबंधन भी प्रदान करता है <code>CFPropertyList</code>, [[बंडल (macOS)]] हैंडलिंग, [[इवेंट लूप]]<code>CFMachPort</code> और <code>CFNotificationCenter</code>इंटरप्रोसेस संचार के माध्यम से इंटरप्रोसेस संचार, और<code>CFUserNotification</code> के माध्यम से बुनियादी ग्राफिकल यूजर इंटरफेस संदेश संवाद के माध्यम से मानकीकृत अनुप्रयोग वरीयता प्रबंधन भी प्रदान करता है।


कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, या उनके [[फाउंडेशन किट]] समकक्षों के साथ एक साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई बना सकता है <code>CFDictionaryRef</code> कोर फाउंडेशन प्रकार, और उसके बाद बाद में इसे अपने उद्देश्य-सी समकक्ष में बदलने के लिए मानक सी कास्ट का उपयोग करें, <code>NSDictionary *</code>, और उसके बाद उस वस्तु पर वांछित उद्देश्य-सी विधियों का उपयोग करें जैसा सामान्य रूप से होता है।
एपीआई के अन्य भागों में उपयोग में सरलता के लिए प्रस्तुत एपीआई के निकट उपयोगिता रूटीन और रैपर सम्मिलित हैं। <code>CFReadStream</code>, <code>CFWriteStream</code>, और <code>CFURL</code> और एंडियननेस ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज) के माध्यम से [[फाइल सिस्टम]] और [[ संगणक संजाल |संगणक संजाल]] I/O जैसी कार्रवाइयाँ करते हैं। रैपर रूटीन के कुछ उदाहरणों में यूनिक्स सॉकेट्स के लिए कोर फाउंडेशन के रैपर रूटीन, सीएफसॉकेट एपीआई सम्मिलित हैं।


कोर फाउंडेशन का एक प्लग-इन मॉडल है ({{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>
कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, उनके [[फाउंडेशन किट]] समकक्षों के साथ  साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई  <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>




== ओपन सोर्स उपलब्धता ==
== ओपन सोर्स उपलब्धता ==
Apple Inc. अधिकांश CF को एक [[खुला स्रोत सॉफ्टवेयर]] के रूप में जारी करता था | CFLite नामक ओपन-सोर्स प्रोजेक्ट जिसका उपयोग macOS, [[Linux]], और [[Microsoft Windows]] के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।<ref>{{Cite web|url=http://opensource.apple.com/source/CF/|title = Source Browser}}</ref>
Apple Inc. अधिकांश CF को CFLite नामक [[खुला स्रोत सॉफ्टवेयर|ओपन-सोर्स प्रोजेक्ट]] के रूप में प्रस्तुत करता था | जिसका उपयोग macOS, [[Linux]], और [[Microsoft Windows]] के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।<ref>{{Cite web|url=http://opensource.apple.com/source/CF/|title = Source Browser}}</ref>
OpenCFLite नामक एक तृतीय-पक्ष ओपन-सोर्स कार्यान्वयन 32-बिट Microsoft Windows और Linux वातावरणों पर निर्माण के लिए Apple CFLite का विस्तार करता है। यह [[वेबकिट]] डेवलपर्स में से एक द्वारा बनाए रखा जाता है, लेकिन 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> OpenCFLite का एक फोर्क 2021 में ग्रांट एरिकसन (ब्रेंट फुलघम के साथ एक मूल सहयोगी) द्वारा बनाया गया था।<ref>{{cite web |title=GitHub पर OpenCFlite प्रोजेक्ट|url=http://github.com/gerickson/opencflite/ |access-date=30 November 2021}}</ref> के एक साथी बंदरगाह के साथ <code>CFHost</code> CFNetwork का हिस्सा, OpenCFNetwork के रूप में।<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>
OpenCFLite नामक तृतीय-पक्ष ओपन-सोर्स कार्यान्वयन 32-बिट विंडोज और लिनक्स वातावरणों पर निर्माण के लिए Apple CFLite का विस्तार करता है। यह [[वेबकिट]] डेवलपर्स के द्वारा बनाए रखा जाता है, लेकिन 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> OpenCFLite का फोर्क 2021 में ग्रांट एरिकसन (ब्रेंट फुलघम के साथ मूल सहयोगी) द्वारा 2021 में बनाया गया था।<ref>{{cite web |title=GitHub पर OpenCFlite प्रोजेक्ट|url=http://github.com/gerickson/opencflite/ |access-date=30 November 2021}}</ref> CFNetwork के <code>CFHost</code> का भाग, OpenCFNetwork के रूप में है।<ref>{{cite web |title=GitHub पर OpenCFNetwork प्रोजेक्ट|url=http://github.com/gerickson/opencfnetwork/ |access-date=30 November 2021}}</ref>
[[GNUstep]] में कोर फाउंडेशन का एक संस्करण शामिल है जिसे libs-corebase कहा जाता है।<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>
 
स्विफ्ट कोरलिब फाउंडेशन, गैर-एप्पल प्लेटफॉर्म के लिए स्विफ्ट प्रोग्रामिंग भाषा के लिए फाउंडेशन किट का फ़ॉलबैक संस्करण है, जिसमें अपाचे लाइसेंस 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>
 





Revision as of 14:07, 17 May 2023

Core Foundation
Developer(s)Apple Inc.
Repositorygithub.com/apple/swift-corelibs-foundation
Written inSwift, Objective-C, C
Operating system
TypeSystem library
LicenseAPSL 2.0
Websitedeveloper.apple.com

कोर फ़ाउंडेशन (जिसे सीएफ़ भी कहा जाता है) एप्पल ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है सी (प्रोग्रामिंग लैंग्वेज) अप्लिकेशन प्रोग्रामिंग अंतरफलक (API) है, और निम्न-स्तरीय रूटीन और आवरण समारोह का मिश्रण है। अधिकांश कोर फाउंडेशन रूटीन निश्चित नामकरण सम्मेलन का पालन करते हैं जो अपारदर्शी वस्तुओं से निपटते हैं, उदाहरण के लिए CFDictionaryRef उन कार्यों के लिए जिनके नाम CFDictionary से प्रारंभ होते हैं, और इन वस्तुओं को अधिकांशतःCFRetain और CFRelease के माध्यम से (मैन्युअल रूप से) गिना जाता है। आंतरिक रूप से, कोर फाउंडेशन उद्देश्य सी मानक पुस्तकालय और कार्बन एपीआई में प्रकारों का आधार बनाता है।[1]

कोर फाउंडेशन का सबसे प्रचलित उपयोग कच्चे बाइट, यूनिकोड स्ट्रिंग (कंप्यूटर विज्ञान) संख्या, कैलेंडर तिथियां, और सार्वभौमिक रूप से अद्वितीय पहचानकर्ता, सहित डेटा के लिए अपने स्वयं के आदिम प्रकारों को पारित करने के लिए है, साथ ही संग्रह जैसे सरणी, सेट और शब्दकोश, कई macOS C (प्रोग्रामिंग लैंग्वेज) रूटीन के लिए हैं। मुख्य रूप से वे जो ग्राफिकल यूज़र इंटरफ़ेस से संबंधित हैं। ऑपरेटिंग सिस्टम स्तर पर कोर फाउंडेशन मानकीकृत अनुप्रयोग प्राथमिकता प्रबंधन भी प्रदान करता है CFPropertyList, बंडल (macOS) हैंडलिंग, इवेंट लूप, CFMachPort और CFNotificationCenterइंटरप्रोसेस संचार के माध्यम से इंटरप्रोसेस संचार, औरCFUserNotification के माध्यम से बुनियादी ग्राफिकल यूजर इंटरफेस संदेश संवाद के माध्यम से मानकीकृत अनुप्रयोग वरीयता प्रबंधन भी प्रदान करता है।

एपीआई के अन्य भागों में उपयोग में सरलता के लिए प्रस्तुत एपीआई के निकट उपयोगिता रूटीन और रैपर सम्मिलित हैं। CFReadStream, CFWriteStream, और CFURL और एंडियननेस ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज) के माध्यम से फाइल सिस्टम और संगणक संजाल I/O जैसी कार्रवाइयाँ करते हैं। रैपर रूटीन के कुछ उदाहरणों में यूनिक्स सॉकेट्स के लिए कोर फाउंडेशन के रैपर रूटीन, सीएफसॉकेट एपीआई सम्मिलित हैं।

कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, उनके फाउंडेशन किट समकक्षों के साथ साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई CFDictionaryRef कोर फाउंडेशन प्रकार बना सकता है, और उसके बाद में इसे अपने उद्देश्य-सी समकक्ष NSDictionary * में बदलने के लिए एक मानक C कास्ट का उपयोग कर सकता है, और उसके बाद उस वस्तु पर वांछित उद्देश्य-सी विधियों का उपयोग करें जैसा सामान्य रूप से होता है।

कोर फाउंडेशन का प्लग-इन मॉडल है (CFPlugin) जो माइक्रोसॉफ्ट घटक वस्तु मॉडल पर आधारित है।[2]


ओपन सोर्स उपलब्धता

Apple Inc. अधिकांश CF को CFLite नामक ओपन-सोर्स प्रोजेक्ट के रूप में प्रस्तुत करता था | जिसका उपयोग macOS, Linux, और Microsoft Windows के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।[3]

OpenCFLite नामक तृतीय-पक्ष ओपन-सोर्स कार्यान्वयन 32-बिट विंडोज और लिनक्स वातावरणों पर निर्माण के लिए Apple CFLite का विस्तार करता है। यह वेबकिट डेवलपर्स के द्वारा बनाए रखा जाता है, लेकिन 2015 तक संवृत हो गया था।[4] कराओके प्लेटफॉर्म KJams 2017 से फोर्क बनाए रखता है। यह संस्करण, इसके प्रोग्रामर डेविड एम. कॉटर द्वारा, 64-बिट सिस्टम का समर्थन करता है और लिबरएसएसएल-आधारित टीएलएस के साथ सीएफनेटवर्क कार्यान्वयन है।[5] OpenCFLite का फोर्क 2021 में ग्रांट एरिकसन (ब्रेंट फुलघम के साथ मूल सहयोगी) द्वारा 2021 में बनाया गया था।[6] CFNetwork के CFHost का भाग, OpenCFNetwork के रूप में है।[7]

स्विफ्ट कोरलिब फाउंडेशन, गैर-एप्पल प्लेटफॉर्म के लिए स्विफ्ट प्रोग्रामिंग भाषा के लिए फाउंडेशन किट का फ़ॉलबैक संस्करण है, जिसमें अपाचे लाइसेंस 2.0 के अधीन निरंतर कोर फाउंडेशन का लगभग पूर्ण संस्करण सम्मिलित है।[8]

GNUstep में "लिब्स-कोरबेस" नामक कोर फाउंडेशन का संस्करण सम्मिलित है ।[9]


यह भी देखें

  • जीएलआईबी - गनोम समकक्ष

संदर्भ

  1. ridiculous_fish (2006). "पुल".
  2. "प्लग-इन और माइक्रोसॉफ्ट के COM". Mac Developer Library. Apple Inc. Archived from the original on 2014-09-01. Retrieved 2015-03-25.
  3. "Source Browser".
  4. OpenCFLite project on SourceForge.
  5. "सीएफलाइट". KJams. Retrieved 19 February 2020.
  6. "GitHub पर OpenCFlite प्रोजेक्ट". Retrieved 30 November 2021.
  7. "GitHub पर OpenCFNetwork प्रोजेक्ट". Retrieved 30 November 2021.
  8. "स्विफ्ट-कोरलिब्स-फाउंडेशन". GitHub. October 14, 2021.
  9. "gnustep/libs-corebase: The GNUstep CoreBase Library is a library of general-purpose, non-graphical C objects". GitHub. GNUstep. 19 November 2019.


बाहरी संबंध