پلاگین ها

مقدمه

پلاگین یک قطعه کد مستقل است که عملکردی را به Blockly اضافه می کند. پلاگین ها می توانند فیلدها را اضافه کنند، تم ها را تعریف کنند، رندر ایجاد کنند و خیلی چیزهای دیگر.

کاربر هدف پلاگین توسعه دهنده ای است که افزونه را از طریق npm پیدا کرده و از آن استفاده می کند. برای کسب اطلاعات بیشتر در مورد ساخت یک افزونه، می‌توانید بحث نحوه ساخت پلاگین 2021 و بحث مرور کلی پلاگین‌ها در سال 2021 را نیز تماشا کنید.

شخص اول در مقابل شخص ثالث

پلاگین های تعریف شده در مخزن نمونه های بلوکی، پلاگین های شخص اول هستند، به این معنی که توسط تیم Blockly پشتیبانی می شوند و تحت دامنه @blockly در npm منتشر می شوند.

پلاگین های شخص اول عالی:

  • موارد استفاده آشکار دارند
  • همه منظوره هستند
  • پایدار هستند
  • استفاده آسان هستند

افزونه های شخص ثالث به طور مستقل نگهداری و منتشر می شوند. افزونه های شخص ثالث ممکن است پیچیده تر، آزمایشی تر یا هدفمندتر باشند.

به عنوان مثال، میدانی برای تنظیم سرعت موتور می تواند در بسیاری از پروژه های رباتیک استفاده شود. از طرف دیگر، یک فیلد برای ویرایش یک شی خاص که توسط طرح پایگاه داده شما تعریف شده است به عنوان یک افزونه شخص ثالث بهتر است.

معیارهای طرف اول

افزونه های شخص اول باید این شرایط را داشته باشند:

  • روی همه پلتفرم‌های اصلی کار می‌کند، مگر اینکه توسط تیم Blockly معافیت داده شود.
    • کروم، فایرفاکس، سافاری، اج
  • نویسنده ای دارد که مایل به رسیدگی به اشکالات برای سال اول است.
  • Blockly را میمون وصل نمی کند.
  • دارای یک API کاملاً تعریف شده و مستند.
  • توابع خصوصی یا بسته را از هسته Blockly فراخوانی نمی کند، مگر اینکه توسط تیم Blockly معافیت داده شود.
    • نادیده گرفتن توابع بسته در زیر کلاسی که شما تعریف می کنید مجاز است.
    • اگر معافیت می‌خواهید، در شماره‌ای در مورد نمونه‌های بلوکی از ما بپرسید.
  • تست داره

پیدا کردن پلاگین ها

  • در صفحات 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 خواهد بود که نشان دهنده توسعه اولیه همانطور که در مشخصات semver ذکر شده است.

بیشتر پلاگین‌ها بسته اصلی blockly را به‌عنوان یک همتا وابستگی به جای وابستگی شامل می‌شوند. این به این دلیل است که انتظار داریم شما قبلاً Blockly را در برنامه خود نصب کرده باشید (استفاده از یک افزونه بدون استفاده از Blockly منطقی نیست) و بنابراین می توانید نسخه Blockly را خودتان مدیریت کنید. با این حال، بسیاری از پلاگین ها برای استفاده از API های جدید موجود در جدیدترین نسخه Blockly توسعه یافته اند، بنابراین باید از الزامات نسخه آگاه باشید. package.json این افزونه به شما می گوید که حداقل نسخه Blockly که با آن افزونه سازگار است کدام است. اگر یک افزونه به‌روزرسانی شود تا به نسخه جدیدتر Blockly نیاز داشته باشد، به عنوان مثال برای استفاده از یک API کاملاً جدید، نسخه اصلی افزونه افزایش می‌یابد، زیرا ما این را یک تغییر اساسی می‌دانیم.

هنگامی که افزونه را به package.json خود اضافه می‌کنید، پیش‌فرض این است که قبل از نسخه‌ای مانند یک caret قرار دهید

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

این به npm اجازه می‌دهد هر نسخه کوچکی را در یا بالاتر از نسخه فهرست شده نصب کند، بنابراین نسخه 2.0.20 یا 2.1.0 می‌تواند کار کند، اما نه نسخه اصلی جدید مانند 3.0.1 . هنگامی که به نسخه جدیدی از Blockly به روز می کنید، بهتر است بررسی کنید که آیا هر یک از افزونه های شما می تواند به نسخه اصلی جدید نیز به روز شود.

نصب پلاگین بدون npm

در حالی که ما به طور کلی استفاده از npm را برای دریافت آسان به روز رسانی ها توصیه می کنیم، امکان استفاده از افزونه ها بدون npm وجود دارد.

می توانید از unpkg برای اضافه کردن فایل های افزونه بدون شبیه سازی آنها استفاده کنید، به عنوان مثال

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

یا می‌توانید مخزن blockly-samples را شبیه‌سازی کنید و فایل‌ها را به صورت محلی مانند آنچه که اگر Blockly را شبیه‌سازی کرده‌اید، اضافه کنید. با این حال، ما شما را تشویق می کنیم که در صورت امکان از یک مدیر بسته استفاده کنید، زیرا به شما کمک می کند تا از آخرین ویژگی ها و رفع اشکالات افزونه به روز بمانید.

با استفاده از این روش، شما همچنان باید هر مرحله اولیه یا ثبت نام فهرست شده در README پلاگین را انجام دهید.