कोर फाउंडेशन
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 |
कोर फ़ाउंडेशन (जिसे CF भी कहा जाता है) एक C (प्रोग्रामिंग लैंग्वेज) अप्लिकेशन प्रोग्रामिंग अंतरफलक (API) है जिसे Apple ने अपने ऑपरेटिंग सिस्टम के लिए लिखा है, और निम्न-स्तरीय रूटीन और आवरण समारोह का मिश्रण है। अधिकांश कोर फाउंडेशन रूटीन एक निश्चित नामकरण सम्मेलन का पालन करते हैं जो अपारदर्शी वस्तुओं से निपटते हैं, उदाहरण के लिए CFDictionaryRef उन कार्यों के लिए जिनके नाम CFDictionary से शुरू होते हैं, और इन वस्तुओं को अक्सर संदर्भ (कंप्यूटर विज्ञान) के माध्यम से गिना जाता है (मैन्युअल रूप से) CFRetain
और CFRelease
. आंतरिक रूप से, कोर फाउंडेशन उद्देश्य सी मानक पुस्तकालय और कार्बन एपीआई में प्रकारों का आधार बनाता है।[1]
कोर फाउंडेशन का सबसे प्रचलित उपयोग कच्चे बाइट्स, यूनिकोड स्ट्रिंग (कंप्यूटर विज्ञान) एस, संख्या, कैलेंडर तिथियां, और सार्वभौमिक रूप से अद्वितीय पहचानकर्ता, साथ ही सरणी डेटा संरचना, सेट जैसे संग्रह सहित डेटा के लिए अपने स्वयं के आदिम प्रकारों को पारित करने के लिए है। (कंप्यूटर साइंस) और हैश तालिका , कई macOS C (प्रोग्रामिंग लैंग्वेज) रूटीन के लिए, मुख्य रूप से वे जो ग्राफिकल यूज़र इंटरफ़ेस से संबंधित हैं। ऑपरेटिंग सिस्टम स्तर पर कोर फाउंडेशन मानकीकृत अनुप्रयोग प्राथमिकता प्रबंधन भी प्रदान करता है CFPropertyList
, बंडल (macOS) हैंडलिंग, इवेंट लूप्स, इंटरप्रोसेस संचार के माध्यम से CFMachPort
और CFNotificationCenter
, और एक बुनियादी ग्राफिकल यूजर इंटरफेस संदेश संवाद के माध्यम से CFUserNotification
.
एपीआई के अन्य भागों में उपयोग में आसानी के लिए मौजूदा एपीआई के आसपास उपयोगिता रूटीन और रैपर शामिल हैं। यूटिलिटी रूटीन फाइल सिस्टम और संगणक संजाल I/O के माध्यम से ऐसी कार्रवाइयाँ करते हैं CFReadStream
, CFWriteStream
, और CFURL
endianness ट्रांसलेशन (बाइट ऑर्डर यूटिलिटीज)। रैपर रूटीन के कुछ उदाहरणों में यूनिक्स सॉकेट्स के लिए कोर फाउंडेशन के रैपर रूटीन, CFSocket API शामिल हैं।
कोर फाउंडेशन में कुछ प्रकार टोल-फ्री ब्रिज हैं, या उनके फाउंडेशन किट समकक्षों के साथ एक साधारण कास्ट के साथ विनिमेय हैं। उदाहरण के लिए, कोई बना सकता है CFDictionaryRef
कोर फाउंडेशन प्रकार, और उसके बाद बाद में इसे अपने उद्देश्य-सी समकक्ष में बदलने के लिए मानक सी कास्ट का उपयोग करें, NSDictionary *
, और उसके बाद उस वस्तु पर वांछित उद्देश्य-सी विधियों का उपयोग करें जैसा सामान्य रूप से होता है।
कोर फाउंडेशन का एक प्लग-इन मॉडल है (CFPlugin) जो माइक्रोसॉफ्ट घटक वस्तु मॉडल पर आधारित है।[2]
ओपन सोर्स उपलब्धता
Apple Inc. अधिकांश CF को एक खुला स्रोत सॉफ्टवेयर के रूप में जारी करता था | CFLite नामक ओपन-सोर्स प्रोजेक्ट जिसका उपयोग macOS, Linux, और Microsoft Windows के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखने के लिए किया जा सकता है।[3]
OpenCFLite नामक एक तृतीय-पक्ष ओपन-सोर्स कार्यान्वयन 32-बिट Microsoft Windows और Linux वातावरणों पर निर्माण के लिए Apple CFLite का विस्तार करता है। यह वेबकिट डेवलपर्स में से एक द्वारा बनाए रखा जाता है, लेकिन 2015 तक ठप हो गया था।[4] कराओके प्लेटफॉर्म KJams 2017 से एक फोर्क बनाए रखता है। यह संस्करण, इसके प्रोग्रामर डेविड एम. कॉटर द्वारा, 64-बिट सिस्टम का समर्थन करता है और लिबरएसएसएल-आधारित टीएलएस के साथ सीएफनेटवर्क कार्यान्वयन है।[5] OpenCFLite का एक फोर्क 2021 में ग्रांट एरिकसन (ब्रेंट फुलघम के साथ एक मूल सहयोगी) द्वारा बनाया गया था।[6] के एक साथी बंदरगाह के साथ CFHost
CFNetwork का हिस्सा, OpenCFNetwork के रूप में।[7]
स्विफ्ट कोरलिब फाउंडेशन, गैर-एप्पल प्लेटफॉर्म के लिए स्विफ्ट प्रोग्रामिंग भाषा के लिए फाउंडेशन किट का एक फ़ॉलबैक संस्करण है, जिसमें अपाचे लाइसेंस 2.0 के तहत जारी कोर फाउंडेशन का लगभग पूर्ण संस्करण शामिल है।[8]
GNUstep में कोर फाउंडेशन का एक संस्करण शामिल है जिसे libs-corebase कहा जाता है।[9]
यह भी देखें
- जीएलआईबी - गनोम समकक्ष
संदर्भ
- ↑ ridiculous_fish (2006). "पुल".
- ↑ "प्लग-इन और माइक्रोसॉफ्ट के COM". Mac Developer Library. Apple Inc. Archived from the original on September 1, 2014. Retrieved March 25, 2015.
- ↑ "Source Browser".
- ↑ OpenCFLite project on SourceForge.
- ↑ "सीएफलाइट". KJams. Retrieved February 19, 2020.
- ↑ "GitHub पर OpenCFlite प्रोजेक्ट". Retrieved November 30, 2021.
- ↑ "GitHub पर OpenCFNetwork प्रोजेक्ट". Retrieved November 30, 2021.
- ↑ "स्विफ्ट-कोरलिब्स-फाउंडेशन". GitHub. October 14, 2021.
- ↑ "gnustep/libs-corebase: The GNUstep CoreBase Library is a library of general-purpose, non-graphical C objects". GitHub. GNUstep. November 19, 2019.
बाहरी संबंध
- Core Foundation reference at Apple Developer
- OpenCFLite at SourceForge
- CFLite including CFNetwork works in 64bit, uses LibreSSL (TLS 1.1, 1.2)