פלאגין הוא קטע קוד עצמאי שמוסיף פונקציונליות ל-Blockly. לדוגמה, אפשר להוסיף שדה בהתאמה אישית, להגדיר עיצוב חדש או לספק עיבוד נתונים בהתאמה אישית. בדרך כלל, הפלאגינים נארזים ומופצים דרך npm.
למבוא קצר על פלאגינים, אפשר לעיין בהרצאה בנושא סקירה כללית על פלאגינים (2021).
אם אתם רוצים ליצור פלאגין משלכם, תוכלו לעיין במאמר הוספת פלאגין.
יישומי פלאגין של צד ראשון ושל צד שלישי
יישומי פלאגין מבית היוצר נתמכים על ידי צוות Blockly ומתפרסמים ב-npm במסגרת ההיקף @blockly
. הם מיועדים לשימוש במגוון רחב של אפליקציות Blockly.
יישומי פלאגין של צד שלישי מתוחזקים ומתפרסמים באופן עצמאי. הן יכולות להיות מורכבות יותר, ניסיוניות יותר או שמוגדרות לטווח מצומצם יותר של אפליקציות Blockly.
חיפוש פלאגין
כדאי להיכנס לדף Blockly Plugins & Demos, שבו יש הדגמות של פלאגינים מאינטראקציה ישירה.
מחפשים את
keyword:blockly-plugin
ב-npm. הפלאגינים ברמת ההיקף@blockly
פורסמים על ידי צוות Blockly. כדי לקבל תוצאות רחבות יותר, מחפשים אתkeyword:blockly
או אתblockly
.הספרייה
blockly-samples/plugins
ב-GitHub היא המאגר של הפלאגינים של צד ראשון. לכל פלאגין יש קובץ README שמתאר את ההתנהגות שלו ואת השימוש המיועד בו.
התקנת פלאגין
מומלץ להתקין יישומי פלאגין באמצעות מנהל חבילות כמו npm או yarn. כך קל לקבל עדכונים.
התקנת פלאגין באמצעות מנהל חבילות
npm
npm install @blockly/field-angle
חוטי סריגה
yarn add @blockly/field-angle
התקנת פלאגין ללא מנהל חבילות
unpkg
<script src="https://unpkg.com/@blockly/field-angle"></script>
אפשר גם לשכפל את מאגר GitHub שמכיל את הפלאגין. בפלאגינים של צד ראשון, הערך הוא
blockly-samples
.
כדאי לבדוק את קובץ ה-README של הפלאגין כדי לראות אם יש הוראות התקנה נוספות.
שימוש בפלאגין
כל פלאגין הוא שונה, לכן כדאי לעיין בקובץ README של הפלאגין כדי לקבל מידע על השימוש בו. בדוגמה הבאה מוסבר איך להשתמש בהפלאגין @blockly/field-angle
:
מייבאים את הקוד מהתוסף. האופן שבו עושים זאת תלוי באופן שבו התקנתם את הפלאגין.
npm או yarn
import Blockly from 'blockly'; import {registerFieldAngle} from '@blockly/field-angle';
unpkg
אין צורך להשתמש בהצהרה
import
.מאגר שכפול
import {registerFieldAngle} from 'path/to/plugin';
מפעילים את הפלאגין לפי הצורך. בדרך כלל, כדי להשתמש בשדות מותאמים אישית בפלאגינים, צריך לרשום את השדה:
registerFieldAngle();
משתמשים בפלאגין.
Blockly.common.defineBlocksWithJsonArray([ { type: "my_angle_block", message0: "%1 degrees", args0: [ { // Use @blockly/field-angle. type: "field_angle", name: "FIELDNAME", value: 45, }, ], output: null, style: 'math_blocks' }, ]);
גרסאות של תוספים
בפלאגינים ב-blockly-samples
נעשה שימוש בניהול גרסאות סמנטי, שמחייב שינויים משמעותיים כדי להשתמש בגרסה ראשית חדשה. לכל פלאגין חדש שמבצע תיקוני מונקיז לקוד הליבה תהיה גרסת ראשית של 0 כדי לציין את הפיתוח הראשוני.
רוב יישומי הפלאגין כוללים את החבילה blockly
בתור peerDependency
ולא בתור dependency
. הסיבה לכך היא שאנחנו מניחים שכבר התקנתם את Blockly. (לא הגיוני להשתמש בפלאגין בלי להשתמש ב-Blockly). כך תוכלו לנהל את גרסת Blockly בעצמכם, אבל תצטרכו גם לבדוק את package.json
של הפלאגין כדי לקבוע את גרסת Blockly המינימלית שנדרשת לו. אם פלאגין מתעדכן כך שיהיה צורך בגרסה חדשה יותר של Blockly, זה נחשב לשינוי שפוגע בתאימות והגרסה הראשית שלו תתווסף.
כשמוסיפים פלאגין לקובץ package.json
של האפליקציה, כברירת מחדל מופיע קו נטוי לפני הגרסה:
"dependencies": {
"@blockly/field-angle": "^5.0.12"
}
כך npm יוכל להתקין כל גרסה משנית שווה או גבוהה מהגרסה שצוינה, כך שגרסה 5.0.20
או 5.1.0
יפעלו, אבל גרסה ראשית חדשה כמו 6.0.1
לא תפעל. כשמתעדכנים לגרסה חדשה של Blockly, כדאי לבדוק אם אפשר לעדכן גם את הפלאגינים לגרסה ראשית חדשה.