יישומי פלאגין

מבוא

פלאגין הוא קטע קוד עצמאי שמוסיף פונקציונליות ל-Blockly. יישומי פלאגין יכולים להוסיף שדות, להגדיר עיצובים, ליצור כלי רינדור ועוד.

משתמש היעד בפלאגין הוא מפתח שמוצא את הפלאגין ומשתמש בו באמצעות npm. למידע נוסף על בניית פלאגין, תוכלו לצפות גם בהרצאה על איך לבנות פלאגין משנת 2021 ובהרצאת הסקירה הכללית בנושא יישומי פלאגין לשנת 2021.

צד ראשון לעומת צד שלישי

יישומי פלאגין שמוגדרים במאגר blockly-samples הם יישומי פלאגין מהדומיין הנוכחי, כלומר הם נתמכים על ידי צוותBlockly ומפורסמים בהיקף @blockly ב-npm.

יישומי פלאגין מעולים של צד ראשון:

  • יש תרחישים לדוגמה ברורים
  • הם לשימוש כללי
  • הם יציבים
  • קלות לשימוש

יישומי פלאגין של צד שלישי מתוחזקים ומפורסמים בנפרד. יישומי פלאגין של צד שלישי עשויים להיות מורכבים, ניסיוניים יותר או ממוקדים יותר.

לדוגמה, ניתן להשתמש בשדה להגדרת מהירות מנוע בפרויקטים רבים של רובוטיקה. מצד שני, שדה לעריכת אובייקט ספציפי המוגדר על ידי סכימת מסד הנתונים שלכם עדיף כפלאגין של צד שלישי.

קריטריונים מאינטראקציה ישירה

יישומי פלאגין של צד ראשון חייבים לעמוד בדרישות הבאות:

  • הגרסה פועלת בכל הפלטפורמות העיקריות, אלא אם קיבלת פטור מצוות החסימה.
    • Chrome, Firefox, Safari, Edge
  • מחבר/ת שמוכן לטפל בבאגים בשנה הראשונה.
  • לא קוף בלוקly.
  • ממשק API מוגדר ומתועד בבירור.
  • לא מתבצעת קריאה לפונקציות פרטיות או לפונקציות מסוג חבילה מ-Blockly Core, אלא אם קיבלתם פטור מצוות החסימה.
    • מותר לשנות פונקציות חבילה במחלקה משנית שהגדרת.
    • כדי לקבל פטור, אפשר לשאול אותנו לגבי בעיה בנושא דוגמיות חסימה.
  • כולל בדיקות.

מציאת יישומי פלאגין

  • בדפי GitHub מגוון הדגמות פעילות של יישומי פלאגין של צד ראשון.
  • On npm מחפשים את @blockly כדי לראות רשימה של יישומי הפלאגין שפורסמו על ידי צוות blockly.
  • ב-GitHub, צריך לחפש את ספריית יישומי הפלאגין במאגר של blockly-samples. לכל פלאגין יש קובץ 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. עם זאת, הרבה יישומי פלאגין פותחו לשימוש בממשקי API חדשים שנמצאים בגרסה האחרונה של blockly, כך שצריך להיות מודעים לדרישות הגרסה. השדה package.json של הפלאגין יציין מהי הגרסה המינימלית שלBlockly שתואמת לפלאגין הזה. אם מתבצע עדכון של פלאגין כך שיהיה צורך בגרסה חדשה יותר שלBlockly, למשל כדי לנצל את ה-API החדש לגמרי, הגרסה הראשית של הפלאגין תעלה, כי מבחינתנו מדובר בשינוי שעלול לגרום לכשל.

כשמוסיפים את הפלאגין ל-package.json, ברירת המחדל היא להוסיף סימן סמן לפני הגרסה,

"@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 של הפלאגין.