تريند 🔥

🌙 رمضان 2024
السويتش switch

ما الفرق بين الوظائف الإضافية Add-ons والوظائف المساعدة Plug-ins والملحقات Extensions

المهندس سعيد عطا الله
المهندس سعيد عطا الله

تم التدقيق بواسطة: فريق أراجيك

4 د

تم تصميم معظم البرامج مع مجموعةٍ محدودة من الميزات، ويرجع ذلك أساسًا إلى أنه من المستحيل تخصيص نفس البرنامج لكل مستخدم على حدىً، ومع ذلك، فإن معظم المبرمجين يضيفون خصائص المرونة للبرنامج النهائي لتحسين وظائفه باستخدام الإضافات أو الملحقات (Extensions)، والوظائف الإضافيّة (Add-ons)، والمساعِدة (Plug-ins).

كنتيجةٍ لذلك، أصبح مفهوم المكوّنات الإضافيّة للبرامج ـ وبالأخص متصفّحات الويب ـ مع ما يرتبط به من مصطلحات، من أكثر الأمور صعوبةً للفهم والتفريق.

في هذا المقال، سنحاول فهم الاختلافات بين الثلاثة.


الوظائف الإضافيّة (Add-ons)

على المستوى الأساسيّ؛ تقوم بإضافة خصائصَ محدّدةٍ لبرنامج معيّن، وفي بعض الأحيان، قد تعمل الوظيفة الإضافية نفسها لأكثر من برنامج واحد في كل مرة.

على النقيص من الوظائف المساعدة (plug-ins)، والتي تعمل مثل الميزات المُضافة إلى البرامج، فإنّ الوظائف الإضافيّة (add-ons) تضيف فقط خيارات التعديل للواجهة، وأبسط مثال عليها هو شريط الأدوات، وهو أمر مهم للغاية بالنسبة للمتصفحات، واليوم، تعتبر الإضافات (add-ons) مهمة بشكل خاص في مجال الألعاب.

رغم أن مصطلح add-on يمكن أن يكون مربكًا بعض الشيء، إلّا أنّه من الشائع اليوم أن يُطلَق على أي شيء يمكن إدراجه في المتصفح أو البرنامج، وعليه؛ يمكن أن يكون هذا نسقًا بصريًّا (theme)، أو حزمة لغة، أو حتّى وظيفة مساعدة (plug-in)، أو ملحقًا (extension).


الوظائف المساعدة (Plug-ins)

ببساطة، هي مكتبة تابعة لجهة خارجية (طرف ثالث)، يتم توصيلها (plug) بالمتصفح، وتضمينها داخل صفحة الويب باستخدام علامة <embed>، أو علامة <object>، ويؤثر المكون plug-in على صفحة محددة يتم وضعه فيها فقط.

تتضمن أمثلة plug-in الشائعة ما يلي:

  • Macromedia Flash.
  • Adobe Flash Player.
  • Microsoft Silverlight.
  • Apple Quicktime.
  • Adobe Reader (يشتمل على مكون إضافي مع بقية التطبيق).

تستجيب بعض الوظائف المساعدة إلى نوع mime، ويمكنها حينها أن تحلّ محلّ صفحة الويب (أو تعمل في سياقها)، مثل Adobe Reader، الذي يسمح لك بعرض ملفات PDF في متصفح الويب الخاص بك، وغير ذلك من الوظائف المساعدة التي تتيح لك تشغيل أنواع معيّنة من الفيديو أو الوسائط على صفحة الويب، وعليه؛ فإن المكوّن plug-in يؤثر على صفحة الويب الواحدة فقط، وليس غيرها.

في Firefox وChrome وOpera وSafari، تُسمى تلك المكونات عادةً NPAPI plugins، نظرًا لأنها مكتوبة باستخدام NPAPI، أمّا في Safari، فباستخدام Webkit Plugin، وفي Internet Explorer، عن طريق عنصر تحكم ActiveX.

ما لا يمكن للوظائف المساعدة (plug-ins) القيام به:

  • لا تعالج تلقائيًا محتوى كل صفحة ويب تم تحميلها؛ أي يجب أن تتعامل مع نوع mime، أو أن يتم تضمينها في صفحة ويب.
  • لا تستطيع إنشاء أشرطة أدوات.
  • لا يمكنها التأثير على قوائم المتصفح.
  • لا تستطيع جمع المعلومات، أو الوصول، أو التعرّف على علامات التبويب، أو الصفحات الأخرى على المتصفّح نفسه (جلسة التصفّح ذاتها).

إنّ كلّ تلك الأمور السابقة هي من اختصاص الملحقات (Extensions).


الملحقات (Extensions)

المُلحق هو عبارةٌ عن ميزةٍٍ إضافية تهدف إلى تحسين وظائف المتصفح، وتستخدم الملحقات عادةً XUL وCSS لواجهة المستخدم، وJavaScript لأنواع معيّنةٍ من الإجراءات الديناميكية.

وبشكلٍ عام؛ يتضمن الملحق تعليماتٍ برمجيّة تهدف إلى توسيع القدرات الحالية للبرنامج الأساسي، فهو بالتالي مثل قائمة الأوامر التي يتم قبولها من قبل البرنامج.

في المستوى الأساسيّ، تؤثر الملحقات على المتصفح نفسه، وليس صفحة الويب الواحدة فقط، إذ ستوثّر على كلّ الصفحات بطبيعة الحال.

يمكن كتابتها بلغات مختلفة حسب المتصفح؛ ففي Firefox، يمكن كتابتها في C ++، أو JavaScript، وعلى Internet Explorer تُكتَب كعناصر تحكم ActiveX خاصة تسمى Browser Helper Objects، أو BHOs.

يمكن أن تحتوي الملحقات (Extensions) على وظائف مساعدة (Plug-ins)، ولكن العكس غير صحيح.

على سبيل المثال؛ فإنّ إحدى الطرق الشائعة لتثبيت ملحقٍ ما (Extension) في Firefox هي استخدام ملف .xpi، والذي قد يحتوي على مكون NPAPI داخلي (NPAPI plugin)، ولكن رغم ذلك فهو مُلحَق (Extension) بطبيعة الحال.

لن يعمل ذلك الملحق على متصفحات الويب الأخرى، رغم أنّ NPAPI plugin ذاتها قد تعمل بشكل جيد على Chrome وSafari في حال تثبيتها بطريقة أخرى.

ومن الجليّ هنا أنّ الوظيفة المساعدة (Plug-in) لا تتضمّن أيّ ملحقات (Extensions)، تبعًا لطبيعة تكوينها البرمجيّ.


نقاط بارزة

إن الملحقات (extensions) تختلف عن الوظائف المساعدة (plug-ins)، وإنّ معظم البرامج والمستعرضات ستوجه المستخدم نحو استخدام الملحقات.

من ناحية أخرى، فالوظائف المساعدة (plug-ins) مصمّمة لمزيد من التخصيص، ويجب استخدامها فقط عند طلب المستخدم النهائي، وباختصار، فالوظيفة المساعدة (plug-in) هي برنامج كامل في حد ذاتها، في حين أن الملحقات (extensions) لا تبدو كذلك.

يمكن أن تعني الوظاف الإضافيّة (add-ons) أي شيءٍ يضيف المزيد من الميزات إلى برنامجٍ ما، وفيما يتعلق بالمتصفحات، لا يوجد فرق بين الوظيفة الإضافية (add-on)، والملحق (extension)، فكلاهما يُعَدّ مفهومًا واحدًا يُستَخدَم بطريقة مختلفة مع الحالات غير النمطيّة لميزات ووظائف المتصفّح.

هل أعجبك المقال؟