حزمة (macOS)
في NeXTSTEP و OPENSTEP وسلالاتها المتفرعة macOS و iOS و iPadOS و tvOS و watchOS و visionOS ، وفي GNUstep ، الحزمة عبارة عن دليل ملفات ذي بنية محددة وامتداد ملف، مما يسمح بتجميع الملفات ذات الصلة معًا كعنصر واحد من الناحية المفاهيمية.
تتضمن أمثلة الحزم التي تحتوي على تعليمات برمجية قابلة للتنفيذ التطبيقات ، والأطر البرمجية ، والإضافات . عادةً ما تحتوي هذه الحزم على ملف واحد يمثل التعليمات البرمجية القابلة للتنفيذ، وملفات أخرى تمثل موارد مثل ملفات nib ، والقوالب، والصور، والأصوات، وغيرها من الوسائط. في بعض الأنظمة الأخرى، مثل مايكروسوفت ويندوز ، تُضمَّن هذه الموارد عادةً مباشرةً في الملف القابل للتنفيذ نفسه أثناء عملية الترجمة. في أجهزة ماكنتوش القديمة، تُستخدم تقنية مماثلة، حيث يمكن إضافة بيانات وصفية إضافية إلى فرع موارد الملف . وتتشابه في المفهوم أدلة التطبيقات المستخدمة في نظام RISC OS وبيئة سطح المكتب ROX .
تتضمن أمثلة الحزم التي لا تحتوي على تعليمات برمجية قابلة للتنفيذ حزم المستندات ( مستندات iWork ) ومكتبات الوسائط ( مكتبة iPhoto ).
يتم الوصول إلى الحزم برمجيًا باستخدام NSBundleالفئة في أطر عمل Cocoa وNeXTSTEP وGNUstep's Foundation ، وكذلك CFBundleفي Core Foundation . غالبًا ما تتضمن الحزم ملف Info.plist للبيانات الوصفية. [ 1 ] مُعرِّف النوع الموحد (UTI) لحزمة Apple هو [ 2 ] .com.apple.bundle
حزم التطبيقات
حزم التطبيقات عبارة عن تسلسلات هرمية للمجلدات، حيث يكون للمجلد ذي المستوى الأعلى اسم ينتهي بامتداد .app.
في حزمة تطبيقات macOS، يُسمى المجلد الأول في الحزمة، الموجود أسفل المجلد الرئيسي، عادةً `<اسم المجلد>` Contents. ويحتوي هذا Contentsالمجلد عادةً على مجلد آخر يُسمى `<اسم MacOSالمجلد>`، والذي يتضمن الكود التنفيذي للتطبيق. Contentsويحتوي المجلد `<اسم المجلد>` على ملف يُسمى `< Info.plistاسم الملف>`، والذي يتضمن معلومات التطبيق، مثل اسم مُورّد البرنامج، وأسماء الملفات التي تحتوي على الكود التنفيذي للتطبيق وأيقونته، وإصدار التطبيق، والأذونات المطلوبة، وما إلى ذلك. ويحتوي المجلد `< Contentsاسم المجلد>` عادةً أيضًا على مجلد يُسمى `<اسم Resourcesالمجلد>`، والذي يتضمن موارد التطبيق. [ 3 ]
من بين أمور أخرى، يحتوي المجلد على نسخ محلية من ملفات nibResources الخاصة بالتطبيق .
تتضمن الدلائل الفرعية الشائعة الأخرى PlugInsو Frameworksو _CodeSignature. يحتوي Shared Frameworksالدليل Frameworksعلى أطر العمل التي يستخدمها التطبيق، ويتم استخدامها حتى في حال وجود إصدار آخر من إطار العمل على النظام. Shared Frameworksيحتوي الدليل على أطر عمل يمكن استخدامها من قِبل التطبيق الذي يحتويها، وكذلك من قِبل تطبيقات أخرى؛ ويتم استخدامها فقط في حال عدم وجود إصدار أحدث في مكان آخر على النظام. PlugInsيحتوي الدليل على التعليمات البرمجية القابلة للتوسيع التي يستخدمها التطبيق. _CodeSignatureيحتوي المجلد على معلومات يستخدمها النظام للتحقق من صحة الحزمة، والتأكد من أنها صادرة عن جهة موثوقة، ولم يتم التلاعب بها.
بشكل افتراضي، يعرض Finder حزم التطبيقات، والتي يمكن الإشارة إليها أيضًا باسم الحزم ، كملفات مبهمة بدون بنية أساسية؛ ويمكن عرض محتويات الحزمة باستخدام عنصر قائمة السياق "إظهار محتويات الحزمة" .
يستخدم برنامج GNUstep افتراضيًا اسم التطبيق لتسمية المجلد الذي يحتوي على كود التطبيق. ويمكن بدلاً من ذلك تسمية المجلدات وفقًا لبنية الحاسوب ونظام التشغيل المُصمم له الكود، وذلك لتكوين ملف تنفيذي مُدمج ، بحيث يُمكن فتح التطبيق على منصات متعددة. [ 4 ] [ 5 ]
حزم إطار عمل macOS
تُخزَّن أُطر عمل macOS أيضًا على شكل حزم؛ [ 6 ] يحمل الدليل الرئيسي لحزمة إطار العمل اسم إطار العمل متبوعًا بالامتداد .framework. يحتوي الدليل الرئيسي على Versionsدليل فرعي، يتضمن أدلة فرعية لإصدار واحد أو أكثر من إطار العمل، ويحتوي كل دليل فرعي على كود المكتبة الديناميكية لإطار العمل، في ملف يحمل نفس اسم إطار العمل، وقد يحتوي على Headersمجلد فرعي آخر يتضمن ملفات رأسية لإطار العمل، بالإضافة إلى مجلدات فرعية أخرى Resources. Versionsيحتوي الدليل أيضًا على رابط رمزي Currentإلى دليل الإصدار الحالي من إطار العمل. يحتوي الدليل الرئيسي على روابط رمزية إلى محتويات Versions/Current. [ 7 ]
يعرض برنامج Finder حزم الإطار كدلائل بدلاً من ملفات مبهمة.
على الرغم من أن GNUstep يستخدم أطر العمل، إلا أنها لا تُخزّن عادةً كحزم. ويعود ذلك إلى أن دلالات تحميل أطر العمل الكاملة تُعتبر غريبة جدًا على المنصات الأخرى. [ 8 ]
حزم قابلة للتحميل
الحزم القابلة للتحميل هي حزم تحتوي على شيفرة برمجية يمكن تحميلها أثناء التشغيل. [ 9 ] عادةً ما تحمل هذه الحزم الامتداد .bundle.، وتُستخدم غالبًا كإضافات . في نظام macOS، توجد طريقة لتحميل الحزم حتى في التطبيقات التي لا تدعمها، مما يسمح بإنشاء حلول برمجية خارجية لتطبيقات شائعة، مثل Safari [ 10 ] و Apple Mail . [ 11 ] [ 12 ] كما أن GNUstep، وهي ميزة موروثة من NeXTSTEP، تمتلك -[NSBundle principalClass]واجهة مماثلة.
بشكل افتراضي، يعرض Finder الحزم القابلة للتحميل، والتي يمكن الإشارة إليها أيضًا باسم الحزم ، كملفات معتمة بدون بنية أساسية؛ ويمكن عرض محتويات الحزمة باستخدام عنصر قائمة السياق "إظهار محتويات الحزمة" .
تنسيقات الحزم الأخرى
هناك العديد من تطبيقات macOS التي تستخدم تنسيق الحزمة المخصص الخاص بها (مثل CandyBar.iContainer و Aperture.aplibrary و VMware Fusion.vmwarevm وما إلى ذلك).
.lproj
ملف .lproj عبارة عن حزمة تحتوي على ملفات ترجمة لبرامج OpenStep أو macOS أو GNUstep. يحتوي عادةً على .nibملفات لغة معينة، بالإضافة إلى .stringsملفات وصور عند الحاجة (مثل ملفات ReadMe أو ملفات الترخيص). يستخدم مُنشئو برامج التثبيت هذه الملفات المترجمة لتخصيص حزم التثبيت، كما تُضمّن أيضًا في حزمة التطبيق.
انظر أيضاً
- دليل التطبيقات — نظير حزمة التطبيقات في نظام التشغيل RISC
- AppImage — تطبيق لينكس يستخدم مبادئ مماثلة
- تطبيق — تطبيق HarmonyOS يستخدم مبادئ مماثلة
- دليل تنسيق النصوص المنسقة — امتداد RTF من Apple باستخدام الحزم
مراجع
- ↑ "قائمة خصائص المعلومات - موارد الحزمة" . وثائق مطوري Apple .
- ↑ "معرفات الأنواع الموحدة المعلنة من قبل النظام" . مرجع معرفات الأنواع الموحدة . شركة آبل. تم الاطلاع عليه بتاريخ 10-06-2012 .
- ↑ "هياكل الحزم" . دليل برمجة الحزم . شركة آبل، 27-03-2017. حزم التطبيقات.
- ↑ "PackagingDrafts/GNUstep" . ويكي مشروع فيدورا .
- ↑ "gnustep/tools-make: README.Packaging" . GitHub . 5 ديسمبر 2021.
- ↑ "الإطار" . developer.apple.com . تم الاطلاع عليه بتاريخ 2020-10-06 .
- ↑ "هياكل الحزم" . دليل برمجة الحزم . شركة آبل، 27-03-2017. تشريح حزمة إطار العمل.
- ↑ "أسئلة وأجوبة المستخدم" . GNUstep .
- ↑ مواضيع برمجة تحميل التعليمات البرمجية لـ Cocoa: حول الحزم القابلة للتحميل
- ↑ "Pimp My Safari: plugins" . مؤرشف من الأصل بتاريخ 31-10-2007.
- ↑ "إضافات وأدوات بريد أبل" . مؤرشف من الأصل بتاريخ 8 مارس 2009. تم الاطلاع عليه بتاريخ 4 نوفمبر 2007 .
- ↑ "Hawk Wings — إضافات لبرنامج Apple Mail" . مؤرشف من الأصل بتاريخ 31-08-2007.
روابط خارجية
- دليل برمجة الحزم في موقع Apple Developer Connection
- وثائق NSBundle من مشروع GNUstep
- بلاتيبوس - أداة لإنشاء حزم تطبيقات حول البرامج النصية
- تفاصيل امتداد الملف
- التالي
- نظام التشغيل macOS
- تطوير نظام التشغيل macOS
- برنامج GNUstep
