تحرير عارف عصام القاضي - سوريا على الجمعة، 02 كانون2/يناير 2026
فئة: مقالات روبوتيك تقنية

plugin manager

عند بناء تطبيقات برمجية قابلة للنمو، تظهر تحديات حقيقية تتعلق بكيفية إضافة ميزات جديدة دون الإضرار باستقرار النظام أو تعقيد الكود الأساسي.
كلما كبر المشروع، أصبح تعديل النواة (Core) مباشرةً أمراً محفوفاً بالمخاطر، خصوصاً إذا كان التطبيق يستخدم من قِبل عدد كبير من المستخدمين أو يتم تطويره من قِبل أكثر من فريق.

من هنا تنشأ الحاجة إلى بنية الإضافات (Plugin Architecture)، ويأتي مدير الإضافات (Plugin Manager) ليكون القلب الذي ينظم هذه البنية.

في هذا المقال سنشرح:

ما هو Plugin Manager؟ 

مدير الإضافات هو مكوّن مركزي داخل النظام مسؤول عن:

الفكرة الأساسية هي:

النواة لا تعرف تفاصيل الإضافة، بل تعرف فقط كيف تستدعيها.

هذا الفصل يحقق:

لماذا نحتاج إلى Plugin Architecture؟ 

بدون نظام إضافات:

مع نظام إضافات:

الجزء الأول: التطبيق العملي في الخلفية (Backend)

سننشئ خادماً بسيطاً باستخدام Node.js وExpress:

هيكل المشروع

simple-plugin-demo/

    core/

        server.js ← main Express server

        pluginManager.js ← plugin loader/registry

    plugins/

        hello/

            manifest.json

            plugin.js

        time/

            manifest.json

            plugin.js

    package.json 

دور ملف Manifest.json

كل إضافة تحتوي على ملف manifest.json يعرّفها:

هذا الملف هو عقد رسمي بين الإضافة والنظام، ومن خلاله:

ويمكن مستقبلاً إضافة:

كود الإضافة (plugin.js)

كل إضافة يجب أن توفّر نقطة دخول موحدة: 

هذه الدالة تسمح للإضافة:

مدير الإضافات: القلب الحقيقي للنظام 

حيث ان دور مدير الإضافات هو:

السجل (Registry) ولماذا هو مهم؟ 

السجل هو قائمة تحتوي على الإضافات التي تم تحميلها بنجاح، ويُستخدم لـ:

الخادم الرئيسي 

النواة تقوم فقط بـ:

وهكذا عندما تقوم بتشغيل السيرفر:
node core/server.js
ستستطيع الوصول الى:

كلها أضيفت دون تعديل النواة.

الجزء الثاني: نفس الفكرة في الواجهة الأمامية (Frontend)

رغم اختلاف البيئة، إلا أن الفكرة المعمارية واحدة.  

هيكل مشروع الواجهة

simple-plugin-frontend/

    src/

        core/

            App.jsx ← main UI

            PluginManager.js ← UI plugin loader/registry

        extensions/

            HelloUi/

                manifest.ui.json

                HelloPlugin.jsx

            TimeUi/

                manifest.ui.json

                TimePlugin.jsx

    package.json 

دور ملف manifest.json

كل إضافة تحتوي على ملف manifest.json يعرّفها: 

​ إضافات الواجهة

كل إضافة:

مثال لاضافة hello:

مدير الإضافات في الواجهة 

دوره:

التطبيق الرئيسي 

النواة:

وهذا هو جوهر الفصل بين النواة والإضافات. 

مدير الإضافات ليس مجرد كود، بل هو قرار معماري يحدد مستقبل المشروع.

إذا كنت تطور نظاماً:

فإن اعتماد Plugin Architecture يمنحك مرونة واستقراراً يصعب تحقيقهما بغير ذلك. 

​تحميل ​ملفات المشروع

يمكنك تحميل ملفات المشروع كاملة لتجربته والاتطلاع عليه من هنا:

https://drive.google.com/file/d/1VhIrBxXeqHWEAD7fHOaH5bAlBZm6QIwu/view?usp=sharing

مشاهدة شرح تطبيق المشروع

يمكنك مشاهدة شرح كامل لتنفيذ المشروع على قناتنا على يوتيوب من الرابط التالي:

https://youtu.be/_Gq4Cpaa57E

مدونات ذات صلة

اترك تعليقاتك