المكوّنات الإضافية

مقدمة

المكوّن الإضافي هو جزء رمز برمجي مستقل يضيف وظائف إلى تطبيقBlockly. يمكن للمكوّنات الإضافية إضافة حقول وتحديد المظاهر وإنشاء برامج عرض وغير ذلك الكثير.

المستخدم المستهدف للمكون الإضافي هو المطوّر الذي يعثر على المكوِّن الإضافي ويستخدمه من خلال npm. لمزيد من المعلومات حول إنشاء مكوّن إضافي، يمكنك أيضًا مشاهدة اللقاء الذي تناولنا فيه موضوع كيفية إنشاء مكوّن إضافي لعام 2021 والكلمة التي تناولنا فيها موضوع النظرة العامة حول كيفية إنشاء مكوّن إضافي لعام 2021.

الطرف الأول في مقابل الطرف الثالث

إنّ المكوّنات الإضافية المحدّدة في مستودع blockly-pattern هي مكوّنات إضافية من الطرف الأول، ما يعني أنّها متاحة من قِبل فريق Blockly ويتم نشرها ضمن نطاق @blockly في npm.

مكوّنات إضافية رائعة للطرف الأول:

  • لديهم حالات استخدام واضحة
  • للأغراض العامة
  • ثابتة
  • سهلة الاستخدام

يتم الاحتفاظ بالمكونات الإضافية التابعة لجهات خارجية ونشرها بشكل مستقل. قد تكون المكونات الإضافية التابعة لجهات خارجية أكثر تعقيدًا أو أكثر تجريبية أو أكثر استهدافًا.

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

معايير الطرف الأول

يجب أن تستوفي المكوّنات الإضافية للطرف الأول المتطلبات التالية:

  • تعمل هذه الميزة على جميع المنصات الرئيسية ما لم يمنحها فريق حظر الإعلانات إعفاءً لها.
    • Chrome وFirefox وSafari وEdge
  • لديه مؤلف مستعد للتعامل مع الأخطاء خلال العام الأول.
  • لا يعمل على إنشاء قرد بلوكلي.
  • لديها واجهة برمجة تطبيقات محددة وموثقة بوضوح.
  • لا يستدعي وظائف الحزمة الخاصة أو وظائف الحزم من نظام Blockly Core، ما لم يتم منحه إعفاء من قِبل فريق Blockly.
    • يُسمح بتجاوز دوال الحزمة في الفئة الفرعية التي تحددها.
    • إذا كنت تريد استثناءً، يمكنك طرح السؤال في مشكلة تتعلّق بالعيّنات المحظورة.
  • إجراء اختبارات

البحث عن المكوّنات الإضافية

  • في صفحات GitHub: استكشف العروض التوضيحية المباشرة للمكوّنات الإضافية التابعة للطرف الأول.
  • في npm، ابحث عن @blockly للاطّلاع على قائمة بالمكوّنات الإضافية التي نشرها فريق حظر.
  • على GitHub يمكنك الاطّلاع على دليل المكوّنات الإضافية في مستودع النماذج المجمّعة. يحتوي كل مكون إضافي على ملف PDF يصف سلوكه والاستخدام المقصود منه.

تثبيت المكونات الإضافية

  1. ابحث عن المكون الإضافي الذي ترغب في تثبيته باستخدام أحد الموارد أعلاه، وحدد موقع الملف README.
  2. اتّبِع أي تعليمات تثبيت في ملف README. بشكل عام، ستحتاج إلى تثبيت المكون الإضافي من npm، على سبيل المثال

    npm install @blockly/block-plus-minus --save
    

    واستيرادها في التعليمة البرمجية، على سبيل المثال

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. قد تتطلب بعض المكوّنات الإضافية خطوات إضافية، مثل إعداد المكوّن الإضافي أو تسجيله. وسيتم سرد هذه الخطوات في الملف التمهيدي.

إصدارات المكونات الإضافية

تتبع المكوّنات الإضافية في النماذج الكتلية النُسخ الدلالية، لذلك ستظهر أي تغييرات قد تؤدي إلى عطل في إصدار رئيسي جديد. سيكون لأي مكوّن إضافي جديد يعتمد على نواة تصحيح القرد إصدار رئيسي من 0 للإشارة إلى التطوير الأولي كما هو مذكور في مواصفات السوق.

تتضمّن معظم المكوّنات الإضافية حزمة blockly الرئيسية كتبعية بدلاً من كتبعية. ويرجع ذلك إلى أنّنا نتوقّع أن تكون قد ثبتّ حظر الدخول بنفسك في تطبيقك الخاص (لن يكون من المنطقي استخدام مكوّن إضافي بدون استخدام حظر أيضًا) وبالتالي يمكنك إدارة إصدار تطبيقBlockly بنفسك. ومع ذلك، تم تطوير العديد من المكوّنات الإضافية لاستخدام واجهات برمجة تطبيقات جديدة تم العثور عليها في أحدث إصدار من تطبيق Blockly، لذا يجب أن تكون على دراية بمتطلبات الإصدار. سيخبرك package.json في المكوّن الإضافي بالحد الأدنى لإصدار الحظر المتوافق مع هذا المكوِّن الإضافي. إذا تم تحديث مكوّن إضافي يحتاج إلى إصدار أحدث من حظر، مثلاً للاستفادة من واجهة برمجة تطبيقات جديدة تمامًا، ستتم زيادة الإصدار الرئيسي من المكوِّن الإضافي لأنّنا نعتبر هذا تغييرًا قد يؤدي إلى عطل.

عند إضافة المكوّن الإضافي إلى package.json، يكون الوضع التلقائي هو تضمين علامة إقحام قبل الإصدار مثل

"@blockly/block-plus-minus": "^2.0.15"

وسيتيح هذا الإجراء npm تثبيت أي إصدار ثانوي عند الإصدار المحدّد أو أعلى، بحيث يمكن أن يعمل الإصدار 2.0.20 أو 2.1.0، وليس إصدارًا رئيسيًا جديدًا مثل 3.0.1. عند التحديث إلى إصدار جديد من حظر، من الجيد التحقق مما إذا كان من الممكن تحديث أي من المكوّنات الإضافية إلى إصدار رئيسي جديد أيضًا.

تثبيت المكونات الإضافية بدون npm

على الرغم من أنّنا ننصح عمومًا باستخدام npm لتلقّي التحديثات بسهولة، من الممكن استخدام مكوّنات إضافية بدون npm.

يمكنك استخدام unpkg لتضمين ملفات المكونات الإضافية بدون نسخها، على سبيل المثال

<script src="https://unpkg.com/@blockly/block-plus-minus"></script>

أو يمكنك استنساخ مستودع blockly-samples وتضمين الملفات محليًا بشكل مشابه للطريقة التي تستخدمها في حال استنساخ تطبيق Bluely. ومع ذلك، ننصحك باستخدام مدير حِزم إذا أمكن، لأنه سيساعدك في البقاء على اطّلاع بأحدث الميزات وإصلاحات الأخطاء في المكوّن الإضافي.

باستخدام هذه الطريقة، ستظل بحاجة إلى إجراء أي خطوات تهيئة أو تسجيل مدرجة في ملف README للمكوّن الإضافي.