الأساس الأساسي

Core Foundation (المعروف أيضًا باسم CF ) هي واجهة برمجة تطبيقات (API) مكتوبة بلغة C ، طورتها شركة Apple لأنظمة تشغيلها ، وهي مزيج من إجراءات منخفضة المستوى ووظائف تغليف . تتبع معظم إجراءات Core Foundation اصطلاح تسمية محددًا للتعامل مع الكائنات غير الشفافة، على سبيل المثال CFDictionaryRef للوظائف التي تبدأ أسماؤها بـ CFDictionary، وغالبًا ما يتم عدّ مراجع هذه الكائنات (يدويًا) باستخدام `console.com` و`console.com` . داخليًا، تُشكّل Core Foundation أساس أنواع البيانات في مكتبة Objective-C القياسية وواجهة برمجة تطبيقات Carbon . [ 1 ]CFRetainCFRelease

يُستخدم Core Foundation بشكل شائع لتمرير أنواع البيانات الأولية الخاصة به، بما في ذلك البايتات الخام ، وسلاسل Unicode ، والأرقام ، وتواريخ التقويم ، ومعرفات UUID ، بالإضافة إلى مجموعات مثل المصفوفات والمجموعات والقواميس ، إلى العديد من إجراءات C في macOS ، وخاصة تلك المتعلقة بواجهة المستخدم الرسومية . على مستوى نظام التشغيل، يوفر Core Foundation أيضًا إدارة موحدة لتفضيلات التطبيقات ، ومعالجة الحزم، وحلقات التشغيل ، والتواصل بين العمليات ، وواجهة مستخدم رسومية أساسية لعرض الرسائل .CFPropertyListCFMachPortCFNotificationCenterCFUserNotification

تتضمن أجزاء أخرى من واجهة برمجة التطبيقات (API) إجراءات مساعدة وأغلفة لواجهات برمجة التطبيقات الحالية لتسهيل الاستخدام. تُنفذ إجراءات المساعدة عمليات مثل إدخال/إخراج نظام الملفات والشبكة من خلال أدوات مثل `int` و` int` و` int` و` int` ، بالإضافة إلى ترجمة ترتيب البايتات. ومن أمثلة إجراءات الأغلفة تلك الخاصة بإجراءات الأغلفة الخاصة بمؤسسة Core Foundation لمقابس Unix، وهي واجهة برمجة تطبيقات CFSocket .CFReadStreamCFWriteStreamCFURL

بعض أنواع البيانات في Core Foundation قابلة للتحويل المباشر، أو يمكن استبدالها بسهولة باستخدام تحويل بسيط، مع نظيراتها في Foundation Kit . على سبيل المثال، يمكن إنشاء CFDictionaryRefنوع بيانات في Core Foundation، ثم استخدام تحويل C قياسي لتحويله إلى نظيره في Objective-C، NSDictionary *ثم استخدام طرق Objective-C المطلوبة على هذا الكائن كما هو معتاد.

تعتمد Core Foundation على نموذج المكونات الإضافية ( CFPlugin ) الذي يستند إلى نموذج كائنات مكونات Microsoft . [ 2 ]

توافر المصادر المفتوحة

اعتادت شركة Apple على إصدار معظم مكونات CF كمشروع مفتوح المصدر يسمى CFLite والذي يمكن استخدامه لكتابة تطبيقات متعددة المنصات لأنظمة macOS و Linux و Windows . [ 3 ]

يُوسّع تطبيق OpenCFLite، وهو تطبيق مفتوح المصدر تابع لجهة خارجية، برنامج Apple CFLite ليتوافق مع بيئات Windows و Linux ذات 32 بت . يتولى أحد مطوري WebKit صيانته ، إلا أن تطويره توقف بحلول عام 2015. [ 4 ] وتُدير منصة الكاريوكي KJams نسخةً مُعدّلةً منه منذ عام 2017. يدعم هذا الإصدار، الذي طوّره المبرمج ديفيد إم. كوتر، أنظمة 64 بت، ويحتوي على تطبيق CFNetwork مع بروتوكول TLS قائم على LibreSSL . [ 5 ] أُنشئت نسخة مُعدّلة من OpenCFLite بواسطة غرانت إريكسون (أحد المتعاونين الأصليين مع برنت فولغام في إصدار SourceForge) في عام 2021 [ 6 ] ، مع منفذ مُصاحب لجزء CFHostمن CFNetwork، تحت اسم OpenCFNetwork. [ 7 ]

تحتوي مؤسسة Swift Corelib، وهي نسخة احتياطية من Foundation Kit للغة برمجة Swift لمنصات غير تابعة لشركة Apple، على نسخة شبه كاملة من Core Foundation تم إصدارها بموجب ترخيص Apache 2.0 . [ 8 ]

يتضمن GNUstep إصدارًا من Core Foundation يسمى "libs-corebase". [ 9 ]

انظر أيضاً

مراجع

  1. ridicular_fish (2006). "الجسر" .
  2. "المكونات الإضافية وCOM من مايكروسوفت" . مكتبة مطوري ماك . شركة آبل. مؤرشف من الأصل في 1 سبتمبر 2014. تم الاطلاع عليه في 25 مارس 2015 .
  3. "متصفح المصدر" .
  4. مشروع OpenCFLite على موقع SourceForge .
  5. "CFLite" . KJams . تم الاطلاع عليه في 19 فبراير 2020 .
  6. "مشروع OpenCFLite على GitHub" . GitHub . تم الاطلاع عليه بتاريخ 30 نوفمبر 2021 .
  7. "مشروع OpenCFNetwork على GitHub" . GitHub . تم الاطلاع عليه بتاريخ 30 نوفمبر 2021 .
  8. "swift-corelibs-foundation" . GitHub . 14 أكتوبر 2021.
  9. "gnustep/libs-corebase: مكتبة GNUstep CoreBase هي مكتبة من كائنات C عامة الأغراض وغير رسومية" . GitHub . GNUstep. ١٩ نوفمبر ٢٠١٩.