شيم (الحوسبة)

في برمجة الحاسوب ، تُعرف المكتبة الوسيطة (Shim) بأنها مكتبة تعترض استدعاءات واجهة برمجة التطبيقات (API) بشفافية ، وتُغير الوسائط المُمررة، أو تُنفذ العملية بنفسها، أو تُعيد توجيهها إلى مكان آخر. [ 1 ] [ 2 ] يمكن استخدام المكتبات الوسيطة لدعم واجهة برمجة تطبيقات قديمة في بيئة أحدث، أو واجهة برمجة تطبيقات جديدة في بيئة أقدم. كما يمكن استخدامها لتشغيل البرامج على منصات برمجية مختلفة عن تلك التي طُوّرت من أجلها.
تظهر عادةً حلول التوافق مع واجهات برمجة التطبيقات القديمة عندما يتغير سلوك واجهة برمجة التطبيقات، مما يُسبب مشاكل في التوافق مع التطبيقات القديمة التي لا تزال تعتمد على وظائفها القديمة؛ في مثل هذه الحالات، يمكن دعم واجهة برمجة التطبيقات القديمة من خلال طبقة توافق بسيطة فوق الكود الأحدث. تُعرَّف حلول التوافق مع واجهات برمجة التطبيقات الأحدث بأنها: " مكتبة تُضيف واجهة برمجة تطبيقات جديدة إلى بيئة قديمة، باستخدام إمكانيات تلك البيئة فقط." [ 3 ]
أمثلة
- تقوم مكتبات الويب البديلة بتطبيق معايير الويب الأحدث باستخدام المعايير الأقدم وجافا سكريبت ، إذا لم يكن المعيار الأحدث متاحًا في متصفح ويب معين . [ 3 ]
- دعم بروتوكول AppleTalk على أجهزة ماكنتوش ، خلال الفترة القصيرة التي دعمت فيها شركة آبل نظام الشبكات OpenTransport . اعتمدت آلاف برامج ماك على بروتوكول AppleTalk؛ ولدعم هذه البرامج، أُعيد تنفيذ AppleTalk كـ "حزمة" OpenTransport، ثم أُعيد تنفيذه كطبقة وسيطة لواجهة برمجة التطبيقات (API) فوق هذه المكتبة الجديدة.
- تستخدم مجموعة أدوات توافق تطبيقات مايكروسوفت ويندوز (ACT) هذا المصطلح للإشارة إلى المكتبات المتوافقة مع الإصدارات السابقة . تحاكي هذه المكتبات سلوك الإصدارات القديمة من ويندوز للتطبيقات القديمة التي تعتمد على وظائف غير صحيحة أو مهملة، أو تصحح طريقة استدعاء التطبيقات سيئة التصميم لواجهات برمجة التطبيقات (APIs) التي لم يطرأ عليها تغيير، على سبيل المثال لإصلاح أخطاء حساب المستخدم ذي أقل الامتيازات (LUA) . [ 4 ]
- bind.so هي مكتبة وسيطة لنظام لينكس تسمح لأي تطبيق، بغض النظر عن صلاحياته، بالربط بمأخذ استماع أو تحديد عنوان IP صادر. [ 5 ] وهي تستخدم آلية LD_PRELOAD ، التي تسمح بتحميل المكتبات الوسيطة وغيرها من المكتبات في أي برنامج.
- في نمط نفق النوع ، تستخدم طبقة واجهة عامة مجموعة من الطبقات الوسيطة لترجمة مجموعة غير متجانسة من الأنواع إلى نوع بدائي واحد تستخدمه واجهة برمجة التطبيقات الأساسية. [ 6 ]
انظر أيضاً
مراجع
- ↑ "تطبيقات شركتك غير متوافقة مع نظام التشغيل ويندوز 7؟ مايكروسوفت تقول: قم بتعديلها" . مجلة كمبيوتر وورلد . 21 مارس 2009. مؤرشف من الأصل في 7 أبريل 2014. تم الاطلاع عليه في 5 أبريل 2014 .
- ↑ "تبسيط استخدام برامج التوافق - أو - استخدام مجموعة أدوات توافق التطبيقات لجعل برامجك القديمة تعمل مع برامجك الجديدة" . مايكروسوفت تك نت . 17 يونيو 2011. تاريخ الاسترجاع: 5 أبريل 2014 .
- 1 2 أكسل راوشمير (2014). التحدث بلغة جافا سكريبت . واجهات برمجة التطبيقات (Shims) مقابل حلول التوافق (Polyfills ).
- ↑ "مجموعة أدوات توافق تطبيقات مايكروسوفت 5.0" . مايكروسوفت . 11-12-2007 . تم الاطلاع عليه بتاريخ 24-06-2008 .
- ↑ "شفرة المصدر لملف bind.so" . دانيال رايد. 9 يناير 2010. مؤرشف من الأصل في 30 مارس 2014. تم الاطلاع عليه في 5 أبريل 2014 .
- ↑ ويلسون، ماثيو (أغسطس 2003)، "معالجة السلاسل المعممة: طبقات الوصول ونفق النوع" ، مجلة مستخدمي C/C++ ، 21 (8)
روابط خارجية
- واجهات برمجة التطبيقات
- طبقات التوافق
