प्लग इन

शुरुआती जानकारी

प्लगिन एक सेल्फ़-कंटेन्ड कोड होता है, जो Blockly में फ़ंक्शन जोड़ता है. प्लग इन, फ़ील्ड जोड़ सकते हैं, थीम तय कर सकते हैं, रेंडर करने वाले टूल बना सकते हैं. इसके अलावा, वे और भी बहुत कुछ कर सकते हैं.

प्लग इन के लिए टारगेट उपयोगकर्ता वह डेवलपर होता है जो npm के ज़रिए प्लगिन ढूंढकर उसका इस्तेमाल करता है. प्लगिन बनाने के बारे में ज़्यादा जानकारी के लिए, 2021 का प्लगिन कैसे बनाएं के बारे में बात और 2021 के प्लगिन की खास जानकारी के बारे में जानकारी भी देखें.

पहले पक्ष बनाम तीसरे पक्ष

ब्लॉकी-सैंपल के डेटा स्टोर करने की जगह में बताए गए प्लगिन पहले-पक्ष के प्लगिन होते हैं. इसका मतलब है कि ब्लॉकली टीम इन प्लगिन के साथ काम करती है और इन्हें एनपीएम पर @blockly स्कोप के तहत पब्लिश किया जाता है.

पहले पक्ष के बेहतरीन प्लग इन:

  • इस्तेमाल के उदाहरण साफ़ तौर पर दिए जाते हैं
  • जो अलग-अलग तरह के
  • स्थिर हैं
  • इस्तेमाल करने में आसान होते हैं

तीसरे पक्ष के प्लग इन स्वतंत्र रूप से मैनेज किए जाते हैं और पब्लिश किए जाते हैं. तीसरे पक्ष के प्लगिन ज़्यादा जटिल, ज़्यादा एक्सपेरिमेंटल या ज़्यादा टारगेट किए गए हो सकते हैं.

उदाहरण के लिए, कई रोबोटिक्स प्रोजेक्ट में, मोटर स्पीड सेट करने के लिए फ़ील्ड का इस्तेमाल किया जा सकता है. दूसरी ओर, आपके डेटाबेस स्कीमा से तय किए गए किसी खास ऑब्जेक्ट में बदलाव करने वाला फ़ील्ड, तीसरे पक्ष के प्लगिन के तौर पर बेहतर होता है.

पहले पक्ष की शर्तें

पहले पक्ष के प्लग इन को ये ज़रूरी शर्तें पूरी करनी होंगी:

  • यह सभी बड़े प्लैटफ़ॉर्म पर तब तक काम करता है, जब तक ब्लॉकली की टीम ने इसे कोई छूट न दी हो.
    • Chrome, Firefox, Safari, Edge
  • आपका लेखक पहले साल तक गड़बड़ियों को ठीक करना चाहता है.
  • ब्लॉकली को बंदरपैच नहीं करता.
  • इसमें साफ़ तौर पर तय और दस्तावेज़ किया गया एपीआई मौजूद होता है.
  • ब्लॉकली कोर से निजी या पैकेज फ़ंक्शन को तब तक कॉल नहीं करता, जब तक कि ब्लॉकली टीम से छूट न मिली हो.
    • आपने जो सब-क्लास तय की है उस पर, पैकेज फ़ंक्शन बदलने की अनुमति है.
    • अगर आपको छूट चाहिए, तो ब्लॉकली-सैंपल के अनुरोध से जुड़ी समस्या हल करने के लिए हमसे संपर्क करें.
  • इसमें टेस्ट हैं.

प्लग इन ढूंढना

  • GitHub पेजों पर पहले-पक्ष के प्लगिन के लाइव डेमो देखें.
  • npm पर Blockly टीम की ओर से पब्लिश किए गए प्लगिन की सूची देखने के लिए, @blockly खोजें.
  • GitHub पर ब्लॉकली-सैंपल रिपॉज़िटरी में प्लगिन डायरेक्ट्री देखें. हर प्लगिन में एक README होता है, जो उसके व्यवहार और सही इस्तेमाल के बारे में बताता है.

प्लग इन इंस्टॉल करना

  1. ऊपर दिए गए संसाधनों में से किसी एक का इस्तेमाल करके, वह प्लगिन ढूंढें जिसे इंस्टॉल करना है. इसके बाद, README खोजें.
  2. README में दिए गए इंस्टॉल करने के निर्देशों का पालन करें. आम तौर पर, आपको npm से प्लगिन इंस्टॉल करना होगा, उदाहरण के लिए,

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

    और इसे अपने कोड में इंपोर्ट करें, जैसे कि

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. कुछ प्लग इन को शुरू करने या रजिस्टर करने जैसे दूसरे चरणों की ज़रूरत हो सकती है. इन तरीकों को README में शामिल किया जाएगा.

प्लग इन वर्शन

ब्लॉकली सैंपल वाले प्लगिन सिमेंटिक वर्शन के मुताबिक काम करते हैं. इसलिए, नुकसान पहुंचाने वाले बदलाव नए मेजर वर्शन में होंगे. ऐसा कोई भी नया प्लगिन जो मंकी पैचिंग कोर पर निर्भर करता है उसका मेजर वर्शन 0 होगा. ऐसा, सेमवर स्पेसिफ़िकेशन में बताए गए शुरुआती डेवलपमेंट को दिखाने के लिए किया जाएगा.

ज़्यादातर प्लग इन में डिपेंडेंसी के बजाय, पीयर डिपेंडेंसी के तौर पर मुख्य blockly पैकेज शामिल किया जाता है. ऐसा इसलिए है, क्योंकि हम उम्मीद करते हैं कि आप ब्लॉकली को अपने ऐप्लिकेशन में पहले से ही इंस्टॉल कर लेंगे. ब्लॉकली का इस्तेमाल किए बिना, प्लगिन का इस्तेमाल करना ठीक नहीं रहेगा. इसलिए, इस वर्शन को खुद ही मैनेज किया जा सकता है. हालांकि, कई प्लग इन, Blockly के सबसे नए वर्शन में मिले नए एपीआई का इस्तेमाल करने के लिए डेवलप किए गए हैं. इसलिए, आपको वर्शन की ज़रूरी शर्तों के बारे में पता होना चाहिए. प्लगिन का package.json आपको बताएगा कि उस प्लगिन के साथ काम करने वाला, Blockly का सबसे कम वर्शन कौनसा है. अगर किसी प्लगिन को अपडेट किया जाता है और उसे Blockly के नए वर्शन की ज़रूरत होती है, जैसे कि नए एपीआई का फ़ायदा लेने के लिए, तो प्लगिन का मेजर वर्शन बढ़ जाएगा. ऐसा इसलिए है, क्योंकि हम इसे नुकसान पहुंचा सकने वाले बदलाव मानते हैं.

अपने package.json में प्लग इन जोड़ने पर, डिफ़ॉल्ट रूप से वर्शन से पहले एक कैरेट शामिल किया जाता है, जैसे कि

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

इससे npm सूची में दिए गए वर्शन या उसके बाद के वर्शन पर कोई भी माइनर वर्शन इंस्टॉल कर सकेगा. इससे, 2.0.20 या 2.1.0 वर्शन काम कर सकेगा, लेकिन 3.0.1 जैसा नया मेजर वर्शन नहीं. ब्लॉकली के नए वर्शन पर अपडेट करने के बाद, यह ज़रूर देख लें कि आपके किसी प्लगिन को नए मेजर वर्शन में अपडेट किया जा सकता है या नहीं.

एनपीएम के बिना प्लगिन इंस्टॉल करना

आम तौर पर, हम आसानी से अपडेट पाने के लिए एनपीएम का इस्तेमाल करने का सुझाव देते हैं. हालांकि, एनपीएम के बिना प्लगिन इस्तेमाल किए जा सकते हैं.

प्लगिन वाली फ़ाइलों को क्लोन किए बिना शामिल करने के लिए, unpkg का इस्तेमाल किया जा सकता है. उदाहरण के लिए,

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

इसके अलावा, blockly-samples रिपॉज़िटरी को क्लोन किया जा सकता है और फ़ाइलों को उसी तरह से शामिल किया जा सकता है जिस तरह ब्लॉकली को क्लोन किया गया था. हालांकि, हमारा सुझाव है कि अगर हो सके, तो पैकेज मैनेजर का इस्तेमाल करें. इससे, आपको प्लगिन की नई सुविधाओं और गड़बड़ियों को ठीक करने के बारे में अप-टू-डेट रहने में मदद मिलेगी.

इस तरीके का इस्तेमाल करने पर भी, आपको प्लगिन के README में बताए गए, शुरू करने या रजिस्ट्रेशन के सभी चरणों को पूरा करना होगा.