إكسبيكوم

نموذج كائن المكون عبر النظام الأساسي ( XPCOM ) هو نموذج مكون عبر الأنظمة الأساسية من موزيلا . إنه مشابه لنموذج كائن مكون Microsoft (COM) وهندسة وسيط طلب الكائنات المشتركة (CORBA). يتميز بعدة روابط لغة وأوصاف لغة وصف الواجهة (IDL) ؛ وبالتالي يمكن للمبرمجين توصيل وظائفهم المخصصة في الإطار وتوصيله بمكونات أخرى.

إن الاستخدام الأكثر بروزًا لـ XPCOM هو داخل متصفح الويب Firefox. تتفاعل العديد من مكوناته الداخلية عبر واجهات XPCOM. علاوة على ذلك ، استخدم Firefox للسماح بالوصول الواسع النطاق إلى XPCOM للوظائف الإضافية ، ولكن تمت إزالة هذا في عام 2017 واستبداله بواجهة برمجة تطبيقات إضافة المتصفح أقل تساهلاً. ( لا تزال ثلاثة شوكات من Firefox تدعم القدرة الإضافية القديمة: Pale Moon ،  Basilisk ،  واترفوكس . )

الموديل 
XPCOM هو أحد الأشياء الرئيسية التي تجعل بيئة تطبيق موزيلا إطار عمل حقيقي. إنها بيئة تطوير توفر الميزات التالية لمطور البرامج عبر الأنظمة الأساسية:

 إدارة المكونات
 تجريد الملف
 تمرير رسالة الكائن
 إدارة الذاكرة

يتيح نموذج كائن المكون هذا جميع وظائف Gecko تقريبًا كسلسلة من المكونات ، أو مكتبات متعددة الأنظمة قابلة لإعادة الاستخدام ، والتي يمكن الوصول إليها من متصفح الويب أو كتابتها من أي تطبيق موزيلا. تستخدم التطبيقات التي يجب أن تصل إلى مكتبات موزيلا XPCOM المتنوعة ( الشبكات ، والأمان ، و نموذج كائن المستند ، وما إلى ذلك) طبقة خاصة من XPCOM تسمى XPConnect ، والتي تعكس واجهات المكتبة في جافا سكريبت ، أو لغات أخرى. يقوم XPConnect بلصق الواجهة الأمامية للمكونات القائمة على لغة البرمجة C ++ أو C في XPCOM ، ويمكن توسيعها لتشمل دعم البرمجة للغات أخرى: تقدم PyXPCOM  بالفعل دعم Python . يوفر PerlConnect و plXPCOM  دعمًا لـ Perl ، وهناك جهود جارية لإضافة البنية الأساسية للغة العامة (CLI) ودعم لغة روبي لـ XPConnect.

بالنسبة للمطورين ، يسمح XPCOM بكتابة المكونات في C ++ أو C أو جافا سكريبت أو بايثون (لغة برمجة) أو غيرها من اللغات التي تم إنشاء ارتباطات خاصة لها ، وتجميع وتشغيل هذه المكونات على عشرات الأنظمة الأساسية المختلفة ، بما في ذلك هذه وغيرها حيث يتم دعم Mozilla.

تسهل المرونة في إعادة استخدام مكونات XPCOM من مكتبة Gecko وتطوير مكونات جديدة تعمل على منصات مختلفة التطوير السريع للتطبيقات والنتائج في تطبيق أكثر إنتاجية وأسهل في الصيانة. مكتبة الشبكات ، على سبيل المثال ، عبارة عن مجموعة من مكونات XPCOM التي يمكن الوصول إليها واستخدامها بواسطة أي تطبيق من تطبيقات موزيلا. إدخال / إخراج الملف ، والأمان ، وإدارة كلمات المرور ، وملفات التعريف هي أيضًا مكونات XPCOM منفصلة يمكن للمبرمجين استخدامها في تطوير التطبيقات الخاصة بهم.

XPCOM يضيف الكثير من التعليمات البرمجية ل حشد الأجسام، وفي نتسكيب عصر كان يبالغ XPCOM للواجهات الداخلية حيث أنه ليس من الضروري حقا، مما أدى إلى سخام البرمجيات . كان هذا سببًا رئيسيًا وراء قيام شركة Apple في عام 2001 بتشكيل كيه إتش تي إم إل ، وليس Gecko ، لإنشاء محرك ويب كيت لمتصفح سفاري (متصفح ويب) الخاص بها.

قامت موزيلا منذ ذلك الحين بتنظيف بعض من XPCOM bloat. بحلول عام 2008 ، أدى هذا جنبًا إلى جنب مع الجهود الأخرى إلى تحسينات كبيرة في أداء جيكو .

المراجع

روابط خارجية 
 مرجع واجهة برمجة تطبيقات XPCOM
 الصفحة الرئيسية لمشروع XPCOM
 كتاب قديم قليلاً ولكنه لا يزال مفيدًا يتحدث عن XPCOM
 برنامج تعليمي بسيط لـ XPCOM

موزيلا
واجهات برمجة التطبيقات