कोर फाउंडेशन

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

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

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

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

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

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

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

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

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

यह भी देखें

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

बाहरी संबंध

 * Core Foundation reference at Apple Developer
 * OpenCFLite at SourceForge
 * CFLite including CFNetwork works in 64bit, uses LibreSSL (TLS 1.1, 1.2)