कोर फाउंडेशन

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

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

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

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

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

ओपन सोर्स उपलब्धता
एप्पल अधिकांश सीएफ़ को सीएफलाइट नामक ओपन-सोर्स प्रोजेक्ट के रूप में प्रस्तुत करता था | जिसका उपयोग मैकओएस, लिनक्स,और माइक्रोसॉफ़्ट विंडोज़ के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।

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

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

जीएनयूस्टेप में "लिब्स-कोरबेस" नामक कोर फाउंडेशन का संस्करण सम्मिलित है ।

यह भी देखें

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

बाहरी संबंध

 * Core Foundation reference at Apple Developer
 * ओपनसीएफलाइटat SourceForge
 * CFLite including CFNetwork works in 64bit, uses LibreSSL (TLS 1.1, 1.2)